From 71a87800b522df321fa9cc8a8a39bd3934222fd3 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 16:37:44 +0800 Subject: [PATCH 1/9] fix(workspace): preserve Goal selection across source history Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../dashboard/src/views/dashboard-page.tsx | 7 +++- .../source-history-return/before-desktop.png | Bin 0 -> 128623 bytes .../source-history-return/desktop.png | Bin 0 -> 146429 bytes .../evidence/source-history-return/phone.png | Bin 0 -> 62994 bytes ...runtime-source-workspace-browser-smoke.mjs | 35 +++++++++++++++++- 5 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 examples/personal-workspace-browser/evidence/source-history-return/before-desktop.png create mode 100644 examples/personal-workspace-browser/evidence/source-history-return/desktop.png create mode 100644 examples/personal-workspace-browser/evidence/source-history-return/phone.png diff --git a/apps/presentation/dashboard/src/views/dashboard-page.tsx b/apps/presentation/dashboard/src/views/dashboard-page.tsx index dd9e8c15fe..26a68ba3c9 100644 --- a/apps/presentation/dashboard/src/views/dashboard-page.tsx +++ b/apps/presentation/dashboard/src/views/dashboard-page.tsx @@ -3598,6 +3598,9 @@ export function DashboardPage() { }, [exampleModeRequested, requestedStatusUrl, search.statusUrl, source.kind, source.label]); useEffect(() => { + // A source transition can still expose the previous source's Goal rows. + // Reconcile only its committed URL, including during browser Back/Forward. + if (isLoading || (source.kind === "url" && search.statusUrl && search.statusUrl !== source.label)) return; if (search.statusUrl && source.kind === "example") { return; } @@ -3605,6 +3608,7 @@ export function DashboardPage() { if (goalRows.length === 0) { if (search.goalId) { void navigate({ + replace: true, search: (current) => ({ ...current, goalId: "", @@ -3616,13 +3620,14 @@ export function DashboardPage() { if (search.goalId && !goalIds.has(search.goalId) && goalArchiveLoadState.phase !== "loading") { void navigate({ + replace: true, search: (current) => ({ ...current, goalId: "", }), }); } - }, [goalArchiveLoadState.phase, goalRows, navigate, search.goalId, search.statusUrl, source.kind]); + }, [goalArchiveLoadState.phase, goalRows, isLoading, navigate, search.goalId, search.statusUrl, source.kind, source.label]); useEffect(() => { if (!progress || isLoading || !search.goalId || source.kind !== "url") return; diff --git a/examples/personal-workspace-browser/evidence/source-history-return/before-desktop.png b/examples/personal-workspace-browser/evidence/source-history-return/before-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..bdbb1f3760acdb65b6f2001da2e0bb2e83e1b6b6 GIT binary patch literal 128623 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 literal 0 HcmV?d00001 diff --git a/examples/personal-workspace-browser/evidence/source-history-return/desktop.png b/examples/personal-workspace-browser/evidence/source-history-return/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1421572f77e7b82e27190800191674d83dbf6547 GIT binary patch literal 146429 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 ~1ggEz+ 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%0AiRK~xNcTMXec+?JM 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 URL(location.href).searchParams.get("goalId")===""); + await page.goBack(); + await page.getByRole("heading",{name:"Retained research",exact:true}).waitFor({timeout:10000}); + assert.equal(new URL(page.url()).searchParams.get("goalId"),"same-goal"); + assert.equal(new URL(page.url()).searchParams.get("research_node"),"route0"); + await page.screenshot({path:resolve(output,"source-return-desktop.png")}); + await page.goForward(); + await page.getByRole("button",{name:/Distinct research/}).first().waitFor(); + await page.getByRole("button",{name:/Distinct research/}).first().click(); + await page.getByRole("heading",{name:"Distinct research",exact:true}).waitFor(); + assert.equal(new URL(page.url()).searchParams.get("goalId"),"other-goal"); + await page.reload(); + await page.getByRole("heading",{name:"Distinct research",exact:true}).waitFor(); + await page.getByLabel("选择控制面来源",{exact:true}).click(); + await page.getByRole("option",{name:"Retained",exact:true}).click(); + await page.getByRole("button",{name:/Retained research/}).first().waitFor(); + await page.waitForFunction(()=>new URL(location.href).searchParams.get("goalId")===""); + await page.goBack(); + await page.getByRole("heading",{name:"Distinct research",exact:true}).waitFor({timeout:10000}); + assert.equal(new URL(page.url()).searchParams.get("goalId"),"other-goal"); + await page.goForward(); + await page.getByRole("button",{name:/Retained research/}).first().waitFor(); + await page.getByRole("button",{name:/Retained research/}).first().click(); + await page.getByRole("heading",{name:"Retained research",exact:true}).waitFor(); await writeFile(failFile, "unavailable"); for (let attempt=0;attempt<40;attempt++) { if ((await fetch(catalog[1].status_url)).status === 503) break; From ab810b8d81a1e117d904b7b857bb18d1ef22d1d4 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 20:06:24 +0800 Subject: [PATCH 2/9] fix(lark): load configured apps before bounded health checks Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- apps/presentation/dashboard/src/data/chat.ts | 9 +- .../dashboard/src/data/use-lark-apps.ts | 47 +++++++ .../src/features/personal-workspace/i18n.tsx | 6 + .../personal-workspace/lark-settings-page.tsx | 46 ++++--- .../private-conversation-panel.tsx | 12 +- .../personal-workspace-browser/fixture.mjs | 19 ++- .../progressive-loading.mjs | 61 +++++++++ loopx/chat_lark_api.py | 25 +++- .../extensions/lark/goal_topic_connections.py | 15 ++- .../test_lark_goal_topic_connections.py | 39 ++++++ tests/test_chat_lark_api_contract.py | 122 ++++++++++++++++++ 11 files changed, 358 insertions(+), 43 deletions(-) create mode 100644 apps/presentation/dashboard/src/data/use-lark-apps.ts diff --git a/apps/presentation/dashboard/src/data/chat.ts b/apps/presentation/dashboard/src/data/chat.ts index b560d69753..dceddfbef7 100644 --- a/apps/presentation/dashboard/src/data/chat.ts +++ b/apps/presentation/dashboard/src/data/chat.ts @@ -2217,9 +2217,10 @@ const larkAppsSchema = z.object({ })), }); -export async function fetchLarkApps() { +export async function fetchLarkApps(options?: {verify: boolean; appRef?: string; signal?: AbortSignal}) { + const query = options ? new URLSearchParams({verify: String(options.verify), ...(options.appRef ? {app_ref: options.appRef} : {})}) : null; return larkAppsSchema.parse( - await requestJson("/api/chat/lark/apps"), + await requestJson(`/api/chat/lark/apps${query ? `?${query}` : ""}`, {signal: options?.signal}), ).apps; } @@ -2378,9 +2379,9 @@ const larkConnectionsSchema = z.object({ })), }); -export async function fetchLarkConnections() { +export async function fetchLarkConnections(signal?: AbortSignal) { return larkConnectionsSchema.parse( - await requestJson("/api/chat/lark/connections"), + await requestJson("/api/chat/lark/connections", {signal}), ).connections; } diff --git a/apps/presentation/dashboard/src/data/use-lark-apps.ts b/apps/presentation/dashboard/src/data/use-lark-apps.ts new file mode 100644 index 0000000000..82d58d3bbe --- /dev/null +++ b/apps/presentation/dashboard/src/data/use-lark-apps.ts @@ -0,0 +1,47 @@ +import {useCallback, useEffect, useRef, useState} from "react"; +import {fetchLarkApps, type LarkApp} from "./chat"; + +/** One settings mount owns one read, shared by its connection/setup panels. + * Observed readiness is presentation only; operations revalidate at Core. + */ +export function useLarkApps() { + const [apps, setApps] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const current = useRef(null); + const refresh = useCallback(async () => { + current.current?.abort(); + const controller = new AbortController(); + current.current = controller; + setApps([]); setError(null); setLoading(true); + const active = () => !controller.signal.aborted; + try { + const profiles = await fetchLarkApps({verify: false, + signal: AbortSignal.any([controller.signal, AbortSignal.timeout(7000)])}); + if (!active()) return; + setApps(profiles); + let next = 0; + // A slow profile neither holds the catalog nor other profile results. + const worker = async () => { + while (active() && next < profiles.length) { + const profile = profiles[next++]; + let observed: LarkApp; + try { + const rows = await fetchLarkApps({verify: true, appRef: profile.app_ref, + signal: AbortSignal.any([controller.signal, AbortSignal.timeout(7000)])}); + if (rows.length !== 1 || rows[0].app_ref !== profile.app_ref) throw new Error("Lark profile changed"); + observed = rows[0].health_error_code === "lark_app_unverified" + ? {...rows[0], health_error_code: "lark_app_verification_failed"} : rows[0]; + } catch { + observed = {...profile, ready: false, reply_ready: false, health_error_code: "lark_app_verification_failed"}; + } + if (active()) setApps(items => items.map(item => item.app_ref === profile.app_ref ? observed : item)); + } + }; + void Promise.all(Array.from({length: Math.min(4, profiles.length)}, worker)); + } catch (cause) {if (active()) setError(cause);} + finally {if (active()) setLoading(false);} + }, []); + useEffect(() => {void refresh(); return () => current.current?.abort();}, [refresh]); + return {apps, loading, error, refresh}; +} diff --git a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx index bcd8ca49ef..06f9b50df0 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx @@ -840,6 +840,9 @@ const en = { "lark.mentionsOnly": "Mentions only", "lark.needsMessagePermissions": "Needs message permissions", "lark.needsSetup": "Needs setup", + "lark.verificationPending": "Checking…", + "lark.verificationFailed": "Not verified", + "lark.retryVerification": "Refresh profiles and retry verification", "lark.newApp": "New Lark App", "lark.noAgentConfigured": "No Agent configured", "lark.noConnections": "No matching connections.", @@ -2431,6 +2434,9 @@ const zhCN: Record = { "lark.mentionsOnly": "仅提及消息", "lark.needsMessagePermissions": "需要消息权限", "lark.needsSetup": "需要设置", + "lark.verificationPending": "正在核验…", + "lark.verificationFailed": "尚未核验", + "lark.retryVerification": "刷新配置并重试核验", "lark.newApp": "新建 Lark App", "lark.noAgentConfigured": "未配置 Agent", "lark.noConnections": "暂无匹配的连接。", diff --git a/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx b/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx index 7839a36b02..2ba73d6a9b 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx @@ -1,4 +1,5 @@ import {PrivateConversationPanel} from "./private-conversation-panel"; +import {useLarkApps} from "../../data/use-lark-apps"; import { useEffect, useMemo, useRef, useState } from "react"; import { Bot, @@ -7,6 +8,7 @@ import { Loader2, MessageSquareText, Plus, + RefreshCw, Search, Settings2, Unlink, @@ -19,11 +21,9 @@ import { connectLarkGoalTopic, disconnectLarkGoalTopic, fetchLarkAppSetup, - fetchLarkApps, fetchLarkConnections, fetchLarkGroupChats, startLarkAppSetup, - type LarkApp, type LarkAppSetup, type LarkCaptureScope, type LarkGoalConnection, @@ -207,7 +207,7 @@ export function LarkSettingsPage({ }) { const { t } = useWorkspaceI18n(); const [tab, setTab] = useState("connections"); - const [apps, setApps] = useState([]); + const {apps, loading: appsLoading, error: appsError, refresh: refreshApps} = useLarkApps(); const [connections, setConnections] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); @@ -245,31 +245,37 @@ export function LarkSettingsPage({ const openedSetupUrl = useRef(null); const desktopHost = Boolean((window as Window & { __TAURI__?: unknown }).__TAURI__); const focusedGoalOpened = useRef(false); + const connectionRead = useRef(null); async function refresh() { + connectionRead.current?.abort(); + const controller = new AbortController(); + connectionRead.current = controller; setLoading(true); setError(null); try { - const [nextApps, nextConnections] = await Promise.all([ - fetchLarkApps(), - fetchLarkConnections(), - ]); - setApps(nextApps); + const nextConnections = await fetchLarkConnections(AbortSignal.any([controller.signal, AbortSignal.timeout(7000)])); + if (controller.signal.aborted) return; setConnections(nextConnections); setCliUnavailable(false); - setAppRef((current) => current || nextApps.find((app) => app.reply_ready)?.app_ref || nextApps.find((app) => app.ready)?.app_ref || nextApps[0]?.app_ref || ""); } catch (cause) { + if (controller.signal.aborted) return; setCliUnavailable(larkCliUnavailable(cause)); setError(larkErrorMessage(cause, t("lark.error.configuration"), t)); } finally { - setLoading(false); + if (!controller.signal.aborted) setLoading(false); } } useEffect(() => { void refresh(); + return () => connectionRead.current?.abort(); }, []); + useEffect(() => { + setAppRef(current => apps.some(app => app.app_ref === current) ? current : apps.find(app => app.ready)?.app_ref ?? apps[0]?.app_ref ?? ""); + }, [apps]); + useEffect(() => { if (!focusGoalConnection || loading || focusedGoalOpened.current || !initialGoalId) return; focusedGoalOpened.current = true; @@ -332,6 +338,7 @@ export function LarkSettingsPage({ } } if (snapshot.status === "ready") { + void refreshApps(); await refresh(); setAppRef(snapshot.app_ref); setAgentAppRefs({}); @@ -437,7 +444,7 @@ export function LarkSettingsPage({ function openSetup() { // Every setup entry (toolbar, connection dialog) meets the same fact: // without lark-cli the setup can only fail until LoopX restarts. - if (cliUnavailable) return; + if (cliUnavailable || larkCliUnavailable(appsError)) return; setSetupSnapshot(null); setSetupError(null); openedSetupUrl.current = null; @@ -543,27 +550,28 @@ export function LarkSettingsPage({ )} - + {tab === "connections" ? app.ready && app.app_ref !== "default")} /> : null} {error ?

{error}

: null} + {appsError ?

{larkErrorMessage(appsError, t("lark.error.configuration"), t)}

: null} {loading ?
{t("lark.loading")}
: null} - {!loading && tab === "apps" ? ( + {tab === "apps" ? (
-
{t("lark.reusableApps", { count: apps.length })}
+
{t("lark.reusableApps", { count: apps.length })}
{apps.map((app) => (
{app.label}{app.brand} · lark-cli profile
- {app.reply_ready ? t("lark.autoReplyReady") : app.ready ? t("lark.needsMessagePermissions") : t("lark.needsSetup")} + {app.health_error_code === "lark_app_unverified" ? t("lark.verificationPending") : app.health_error_code === "lark_app_verification_failed" ? t("lark.verificationFailed") : app.reply_ready ? t("lark.autoReplyReady") : app.ready ? t("lark.needsMessagePermissions") : t("lark.needsSetup")}

{t("lark.goalConnections", { count: connections.filter((connection) => connection.app_ref === app.app_ref).length })}{app.ready && !app.reply_ready ? ` · ${t("lark.autoReplyUnavailable")}` : ""}

))} - {apps.length === 0 ?

{t("lark.noProfiles")}

: null} + {appsLoading ?

{t("lark.loading")}

: apps.length === 0 && !appsError ?

{t("lark.noProfiles")}

: null}
) : null} @@ -619,7 +627,7 @@ export function LarkSettingsPage({ {t("lark.editPreservesIdentity")} : <> - + {selectedApp?.ready && !selectedApp.reply_ready ?
{t("lark.appPermissions")}
: null} ))} diff --git a/apps/presentation/dashboard/src/features/personal-workspace/private-conversation-panel.tsx b/apps/presentation/dashboard/src/features/personal-workspace/private-conversation-panel.tsx index b6e7f68000..8cf2a11560 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/private-conversation-panel.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/private-conversation-panel.tsx @@ -1,14 +1,13 @@ import {useEffect, useState} from "react"; import {connectPrivateConversation, disconnectPrivateConversation, fetchPrivateConversations, - changePrivateAgentTarget, changeOwnerNotifications, fetchChatProjects, fetchChatCapabilities, fetchLarkApps, fetchLarkGroupChats, type PrivateConversation, + changePrivateAgentTarget, changeOwnerNotifications, fetchChatProjects, fetchChatCapabilities, fetchLarkGroupChats, type PrivateConversation, type ChatProject, type LarkApp, type PrivateConversationStopRecovery} from "../../data/chat"; import {useWorkspaceI18n} from "./i18n"; import "./private-conversation.css"; -export function PrivateConversationPanel() { +export function PrivateConversationPanel({apps}: {apps: LarkApp[]}) { const {locale} = useWorkspaceI18n(); const zh = locale === "zh-CN"; - const [apps, setApps] = useState([]); const [projects, setProjects] = useState([]); const [executors, setExecutors] = useState([]); const [rows, setRows] = useState([]); @@ -34,10 +33,9 @@ export function PrivateConversationPanel() { } useEffect(() => { let active = true; - Promise.all([fetchLarkApps(), fetchChatProjects(), fetchChatCapabilities(), fetchPrivateConversations()]) - .then(([apps, projects, capabilities, state]) => { + Promise.all([fetchChatProjects(), fetchChatCapabilities(), fetchPrivateConversations()]) + .then(([projects, capabilities, state]) => { if (!active) return; - setApps(apps.filter(app => app.ready && app.app_ref !== "default")); setProjects(projects.projects); const choices = (capabilities.adapters ?? []).filter(row => row.available).map(row => row.agent_id); setExecutors(choices); setExecutor(choices.includes("codex") ? "codex" : choices[0] ?? ""); @@ -177,7 +175,7 @@ export function PrivateConversationPanel() { : null} {role === "project" && effectiveProjectGrant === "workspace_write" ?

{zh ? "此 App 可按你的指令编辑选定工作区;不提高已直连 Agent 的原宿主权限。更改权限会建立新绑定和新会话,旧会话不会自动提升权限,已有 Agent 直连需重新授权。" : "This App may edit the selected workspace on your instruction; attached Agents retain their original host permissions. Changing access creates a new binding and Session. Existing Chat does not gain access and Agent targets require new authorization."}

: null} -

{zh ? "发送文字、图片或图文消息开始;后续消息进入原会话队列。/status 查看工作区、角色与持久排队状态,/help 查看用法与解绑入口,/stop 停止当前聊天执行,/new 开启新会话。文件、音视频、附在控制命令或已选择 Agent 上的图片会明确提示暂不支持。" : "Send text, images or image/text posts to begin; follow-ups queue in the same Session. /status shows the workspace, role and durable queue, /help explains commands and where to unbind, /stop stops the current Chat Turn, /new starts a new conversation. Files, audio/video, and images sent with control commands or to a selected attached Agent receive an explicit unsupported response."}

diff --git a/examples/personal-workspace-browser/fixture.mjs b/examples/personal-workspace-browser/fixture.mjs index 43a95153d6..e437c370f6 100644 --- a/examples/personal-workspace-browser/fixture.mjs +++ b/examples/personal-workspace-browser/fixture.mjs @@ -1470,14 +1470,21 @@ export async function installApi(page, { fixturePort = port, goalSubagentConfigu }, status: 200 }); return; } + if (url.pathname === "/api/chat/projects" && request.method() === "GET") { + await route.fulfill({json: {ok: true, projects: []}}); return; + } + if (url.pathname === "/api/chat/lark/private-conversations" && request.method() === "GET") { + await route.fulfill({json: {ok: true, revision: 0, connections: [], stop_recoveries: []}}); return; + } if (url.pathname === "/api/chat/lark/apps") { + const apps = [ + { active: true, app_ref: "mew", brand: "feishu", label: "LoopX Mew", ready: true, reply_ready: true }, + { active: true, app_ref: "mew-research", brand: "feishu", label: "LoopX Research", ready: true, reply_ready: true }, + ].filter(app => !url.searchParams.has("app_ref") || app.app_ref === url.searchParams.get("app_ref")); await route.fulfill({ contentType: "application/json", json: { - ok: true, - schema_version: "loopx_lark_apps_v0", - apps: [ - { active: true, app_ref: "mew", brand: "feishu", label: "LoopX Mew", ready: true, reply_ready: true }, - { active: true, app_ref: "mew-research", brand: "feishu", label: "LoopX Research", ready: true, reply_ready: true }, - ], + ok: true, schema_version: "loopx_lark_apps_v0", + apps: apps.map(app => url.searchParams.get("verify") === "false" + ? {...app, ready: false, reply_ready: false, health_error_code: "lark_app_unverified"} : app), }, status: 200 }); return; } diff --git a/examples/personal-workspace-browser/progressive-loading.mjs b/examples/personal-workspace-browser/progressive-loading.mjs index 1d3c869a69..c8c6af02e4 100644 --- a/examples/personal-workspace-browser/progressive-loading.mjs +++ b/examples/personal-workspace-browser/progressive-loading.mjs @@ -1,4 +1,64 @@ import { openWorkspacePage } from "./scenario-context.mjs"; +import {resolve} from "node:path"; +import {outputDir} from "./fixture.mjs"; + +async function verifyLarkLoading(browser, url, collectCoverage) { + let releaseSlow; + const slow = new Promise(resolve => {releaseSlow = resolve;}); + let revision = 1, catalogs = 0; + const probes = []; + const context = await openWorkspacePage(browser, url, {collectCoverage, beforeGoto: async (_api, page) => { + await page.route("**/api/chat/lark/apps?*", async route => { + const query = new URL(route.request().url()).searchParams; + const current = revision; + const refs = ["fast", "slow", "failed"]; + if (query.get("verify") === "false") catalogs++; + else { + probes.push(query.get("app_ref")); + if (query.get("app_ref") === "slow" && current === 1) await slow; + if (query.get("app_ref") === "failed" && current === 1) { + await route.fulfill({status: 503, json: {ok: false, error: "Synthetic verification outage"}}); return; + } + } + const verifying = query.get("verify") === "false"; + await route.fulfill({json: {ok: true, apps: refs.filter(ref => verifying || ref === query.get("app_ref")).map(ref => ({ + app_ref: ref, active: true, brand: "feishu", label: `${ref} ${current}`, + ready: !verifying, reply_ready: !verifying, + health_error_code: verifying ? "lark_app_unverified" : null, + }))}}); + }); + }}); + const {page} = context; + async function openSettings() { + const menu = page.locator(".personal-mobile-menu"); + if (await menu.isVisible()) await menu.click(); + await page.getByRole("button", {name: "设置", exact: true}).click(); + await page.locator(".personal-settings-tabs").getByRole("button", {name: "Lark", exact: true}).click(); + await page.locator(".personal-lark-tabs").getByRole("button", {name: /^Lark Apps/u}).click(); + } + try { + await openSettings(); + const fast = page.locator(".personal-lark-app-card").filter({hasText: "fast 1"}); + await fast.getByText("自动回复可用", {exact: true}).waitFor(); + await page.locator(".personal-lark-app-card").filter({hasText: "slow 1"}).getByText("正在核验…", {exact: true}).waitFor(); + await page.locator(".personal-lark-app-card").filter({hasText: "failed 1"}).getByText("尚未核验", {exact: true}).waitFor(); + if (catalogs !== 1 || probes.length !== 3) throw new Error("Settings panels duplicated the profile catalog or verification"); + await page.screenshot({path: resolve(outputDir, "lark-progressive-desktop.png"), animations: "disabled"}); + // Explicit refresh aborts the old generation; a late healthy result cannot + // restore an old profile after the configuration changed. + revision = 2; + await page.getByRole("button", {name: "刷新配置并重试核验", exact: true}).click(); + await page.locator(".personal-lark-app-card").filter({hasText: "slow 2"}).getByText("自动回复可用", {exact: true}).waitFor(); + releaseSlow(); + await page.waitForTimeout(200); + if (catalogs !== 2 || probes.length !== 6 || await page.getByText("slow 1", {exact: true}).count()) throw new Error("Late verification escaped its settings generation"); + await page.setViewportSize({width: 390, height: 844}); + if (await page.evaluate(() => document.documentElement.scrollWidth > innerWidth)) throw new Error("Lark configuration overflows at 390px"); + await page.screenshot({path: resolve(outputDir, "lark-progressive-narrow.png"), animations: "disabled"}); + if (context.errors.some(error => !error.startsWith("Failed to load resource:"))) throw new Error(context.errors.join(" | ")); + return await context.close(); + } catch (error) {releaseSlow(); await context.close(); throw error;} +} // One Goal's lifecycle action must not send the rest of the workspace back to // the loading lane. The directory entry is the cheap signal for "this Goal did @@ -75,6 +135,7 @@ export const progressiveLoadingScenario = { // dev-server resource status is not a client-side exception. const scriptErrors = pageErrors.filter((message) => !message.startsWith("Failed to load resource")); if (scriptErrors.length) throw new Error(`Progressive reconciliation raised page errors: ${scriptErrors.join(" | ")}`); + coverageEntries.push(...await verifyLarkLoading(browser, url, collectCoverage)); return { coverageEntries, note: "progressive loading reads the workspace directory once and then one Goal at a time; a single Goal's pause and resume re-read no peer, never re-enters the loading lane and keeps every peer card on the board", diff --git a/loopx/chat_lark_api.py b/loopx/chat_lark_api.py index 8448c789a2..abb4ac1823 100644 --- a/loopx/chat_lark_api.py +++ b/loopx/chat_lark_api.py @@ -437,14 +437,31 @@ def _lark_apps(self) -> None: cli_bin = self._require_lark_cli() if cli_bin is None: return + query = parse_qs(urlparse(self.path).query, keep_blank_values=True) + try: + if set(query) - {"verify", "app_ref"} or any(len(values) != 1 for values in query.values()): + raise ValueError("Invalid Lark App query") + verification = query.get("verify", ["true"])[0] + if verification not in {"true", "false"}: + raise ValueError("Lark App verify must be true or false") + app_ref = query.get("app_ref", [None])[0] + runner = self._lark_runner() + # Settings observations have a bounded probe. Mutation owners keep + # their existing fresh provider/identity checks and timeout policy. + def observation_runner(args: list[str], cwd: Path | None, timeout: float | None) -> dict[str, Any]: + return runner(args, cwd, min(timeout or 5, 5)) + apps = list_lark_apps( + runner=observation_runner if query else runner, + cli_bin=cli_bin, verify=verification == "true", app_ref=app_ref, + ) + except ValueError as exc: + self._send_error(str(exc), status=400, error_code="invalid_lark_app") + return self._send_json( { "ok": True, "schema_version": "loopx_lark_apps_v0", - "apps": list_lark_apps( - runner=self._lark_runner(), - cli_bin=cli_bin, - ), + "apps": apps, } ) diff --git a/loopx/extensions/lark/goal_topic_connections.py b/loopx/extensions/lark/goal_topic_connections.py index bef71637e2..df8c353b8a 100644 --- a/loopx/extensions/lark/goal_topic_connections.py +++ b/loopx/extensions/lark/goal_topic_connections.py @@ -242,11 +242,14 @@ def list_lark_apps( *, runner: CommandRunner = default_subprocess_runner, cli_bin: str = DEFAULT_CLI_BIN, + verify: bool = True, + app_ref: str | None = None, ) -> list[dict[str, Any]]: + selected = _profile_ref(app_ref) if app_ref is not None else None result = call(runner, [cli_bin, "profile", "list"]) raw_profiles = _json_value(result) if result.get("returncode") != 0 or not isinstance(raw_profiles, list): - return [] + raise ValueError("Could not read local Lark profiles; retry the configuration read") apps: list[dict[str, Any]] = [] for raw in raw_profiles: if not isinstance(raw, Mapping): @@ -255,7 +258,11 @@ def list_lark_apps( app_ref = _profile_ref(raw.get("name")) except ValueError: continue - identity = _app_identity(app_ref=app_ref, runner=runner, cli_bin=cli_bin) + if selected is not None and selected != app_ref: + continue + identity = _app_identity(app_ref=app_ref, runner=runner, cli_bin=cli_bin) if verify else None + if identity and raw.get("appId") and identity["app_id"] != raw["appId"]: + identity = None bot_ready = bool(identity and identity.get("ready")) apps.append( { @@ -265,9 +272,11 @@ def list_lark_apps( "active": raw.get("active") is True, "ready": bool(identity and identity.get("ready")), "reply_ready": bot_ready, - "health_error_code": None if bot_ready else "lark_app_not_ready", + "health_error_code": None if bot_ready else "lark_app_not_ready" if identity else "lark_app_unverified", } ) + if selected is not None and not apps: + raise ValueError("Lark App profile is no longer configured; refresh the configuration") return apps diff --git a/tests/extensions/test_lark_goal_topic_connections.py b/tests/extensions/test_lark_goal_topic_connections.py index fb823c1667..4a1445b360 100644 --- a/tests/extensions/test_lark_goal_topic_connections.py +++ b/tests/extensions/test_lark_goal_topic_connections.py @@ -176,6 +176,45 @@ def test_lists_apps_with_readiness_without_returning_secrets() -> None: assert all("app_id" not in app for app in apps) +def test_profile_catalog_never_verifies_or_infers_health() -> None: + state: dict[str, Any] = {} + apps = list_lark_apps(runner=_runner(state), cli_bin="fake-lark", verify=False) + assert len(state["calls"]) == 1 + assert {app["app_ref"] for app in apps} == {"mew", "standby"} + assert all(not app["ready"] and not app["reply_ready"] for app in apps) + assert all(app["health_error_code"] == "lark_app_unverified" for app in apps) + # A selected observation re-enumerates the current profile and checks only it. + state["calls"].clear() + observed = list_lark_apps(runner=_runner(state), cli_bin="fake-lark", app_ref="mew") + assert len(observed) == 1 and observed[0]["ready"] + assert len(state["calls"]) == 2 + assert not any("standby" in call for call in state["calls"]) + with pytest.raises(ValueError, match="no longer configured"): + list_lark_apps(runner=_runner(state), cli_bin="fake-lark", app_ref="removed") + + +@pytest.mark.parametrize("payload,code", [(None, 0), ({}, 0), ([], 1)]) +def test_profile_read_failure_is_not_an_empty_catalog(payload: Any, code: int) -> None: + def runner(*_args: Any) -> dict[str, Any]: + return {"returncode": code, "stdout": json.dumps(payload), "stderr": "private diagnostic"} + with pytest.raises(ValueError, match="Could not read local Lark profiles"): + list_lark_apps(runner=runner, verify=False) + + +def test_profile_identity_mismatch_is_not_ready() -> None: + state: dict[str, Any] = {} + original = _runner(state) + def runner(args: list[str], cwd: Any, timeout: Any) -> dict[str, Any]: + result = original(args, cwd, timeout) + if "auth" in args: + value = json.loads(result["stdout"]) + value["appId"] = "cli_different_app" + result["stdout"] = json.dumps(value) + return result + app = list_lark_apps(runner=runner, app_ref="mew")[0] + assert not app["ready"] and app["health_error_code"] == "lark_app_unverified" + + def test_connections_for_two_agents_coexist(tmp_path: Path) -> None: registry = _registry(tmp_path) registry["goals"][0]["coordination"] = { diff --git a/tests/test_chat_lark_api_contract.py b/tests/test_chat_lark_api_contract.py index 20b6404fae..bed3d22121 100644 --- a/tests/test_chat_lark_api_contract.py +++ b/tests/test_chat_lark_api_contract.py @@ -1,6 +1,11 @@ from __future__ import annotations import json +import subprocess +import threading +from http.server import BaseHTTPRequestHandler +from urllib.error import HTTPError +from urllib.request import urlopen from http.server import ThreadingHTTPServer from pathlib import Path from types import SimpleNamespace @@ -26,6 +31,123 @@ from loopx.extensions.lark.goal_channel_targets import add_lark_goal_channel_target +def test_lark_catalog_and_bounded_health_use_real_http_without_provider_writes() -> ( + None +): + calls: list[tuple[list[str], float]] = [] + broken = False + slow = False + + def runner(args: list[str], _cwd: Any, timeout: float) -> dict[str, Any]: + calls.append((args, timeout)) + if args[-2:] == ["profile", "list"]: + return { + "returncode": 0, + "stdout": "{}" + if broken + else json.dumps( + [ + { + "name": "demo", + "appId": "cli_demo", + "brand": "feishu", + "active": True, + }, + { + "name": "other", + "appId": "cli_other", + "brand": "feishu", + "active": False, + }, + ] + ), + } + assert args[-4:] == ["auth", "status", "--verify", "--json"] + if slow: + raise subprocess.TimeoutExpired(args, timeout) + return { + "returncode": 0, + "stdout": json.dumps( + { + "appId": "cli_demo", + "identities": { + "bot": {"available": True, "verified": True, "appName": "Demo"} + }, + } + ), + } + + class Handler(LarkChatRequestMixin, BaseHTTPRequestHandler): + def _require_lark_cli(self): + return "lark-cli" + + def _lark_runner(self): + return runner + + def do_GET(self): + self._lark_apps() + + def log_message(self, *_args): + pass + + def _send_json(self, payload, *, status=200): + self.send_response(status) + self.send_header("Content-Type", "application/json") + self.end_headers() + self.wfile.write(json.dumps(payload).encode()) + + def _send_error(self, message, *, status, error_code): + self._send_json( + {"ok": False, "error": message, "error_code": error_code}, status=status + ) + + server = ThreadingHTTPServer(("127.0.0.1", 0), Handler) + thread = threading.Thread(target=server.serve_forever, daemon=True) + thread.start() + + def read(query): + with urlopen( + f"http://127.0.0.1:{server.server_port}/api/chat/lark/apps{query}", + timeout=10, + ) as response: + return json.load(response) + + try: + catalog = read("?verify=false") + assert len(catalog["apps"]) == 2 and len(calls) == 1 + assert all(not row["ready"] for row in catalog["apps"]) + calls.clear() + health = read("?verify=true&app_ref=demo") + assert health["apps"][0]["ready"] is True + assert len(calls) == 2 and all(timeout == 5 for _, timeout in calls) + slow = True + assert ( + read("?verify=true&app_ref=demo")["apps"][0]["health_error_code"] + == "lark_app_unverified" + ) + for query in [ + "?verify=unknown", + "?verify=false&verify=true", + "?app_ref=removed", + "?app_ref=../outside", + ]: + with pytest.raises(HTTPError) as error: + read(query) + assert error.value.code == 400 + broken = True + with pytest.raises(HTTPError) as error: + read("?verify=false") + assert "private" not in error.value.read().decode() + broken = False + slow = False + assert len(read("?verify=false")["apps"]) == 2 + assert all("profile" in args or "status" in args for args, _ in calls) + finally: + server.shutdown() + server.server_close() + thread.join() + + def test_lark_management_uses_dedicated_local_api_routes() -> None: assert CHAT_GOAL_CONTEXTS_PATH == "/api/chat/goals/contexts" assert CHAT_LARK_APPS_PATH == "/api/chat/lark/apps" From 824c798d8bd15a2e4f625656447a8c46435c4764 Mon Sep 17 00:00:00 2001 From: huangruiteng Date: Mon, 19 Oct 2026 20:09:15 +0800 Subject: [PATCH 3/9] fix(quota): honor agent choice over advisory Todo priority Signed-off-by: huangruiteng --- .../protocols/quota-planning-horizon-v0.md | 24 ++++ docs/status-data-contract.md | 7 +- loopx/control_plane/agents/agent_scope.py | 5 + .../control_plane/quota/should_run_packet.py | 17 --- .../work_items/planning_inventory.py | 10 -- skills/loopx-self-repair/SKILL.md | 9 ++ .../references/repair-patterns.md | 2 +- .../test_quota_settlement_cli.py | 115 +++++++++++------- 8 files changed, 117 insertions(+), 72 deletions(-) diff --git a/docs/reference/protocols/quota-planning-horizon-v0.md b/docs/reference/protocols/quota-planning-horizon-v0.md index 07432d40b8..87239f3c0e 100644 --- a/docs/reference/protocols/quota-planning-horizon-v0.md +++ b/docs/reference/protocols/quota-planning-horizon-v0.md @@ -79,6 +79,30 @@ context independently. TurnEnvelope, stride, execution permission and quota are not enabled by this setting. Context/signature changes are observable input changes, not evidence of improved model decisions. +## Agent Decision Authority + +Use the horizon to choose a coherent outcome across related work, considering +current user direction, evidence, dependencies, expected value, switching cost +and remaining budget. Priority ranks the default recommendation; a ready +higher-priority deferred successor does not veto an explicitly chosen eligible +open Todo. It stays visible for planning and retains its lifecycle state. +If choosing another route matters to the plan, record why in the existing Todo +note or vision/path-delta writeback. Do not manufacture priority changes or +extra-small Todos merely to satisfy the ordering. + +The horizon itself grants no execution authority. Select through the existing +explicit selection/re-entry flow, which still checks scope, capabilities, +claims, resume conditions, workspace and real blocking lanes. A successor link +alone is not a dependency. A selected deferred Todo still requires its resume +transition before execution. + +A committed Turn binds one execution identity, not the Todo until completion. +At an appropriate checkpoint, preserve progress, settle that original Turn and +release its lease before selecting another Todo in a new Turn. Re-entry of an +unsettled Turn preserves its original identity; it cannot silently account +unrelated work or restart a completed effect. Unbound suggestions and pending +choices have no such execution identity to protect. + ## Shape ```json diff --git a/docs/status-data-contract.md b/docs/status-data-contract.md index 55cd87f8ec..9667d0d787 100644 --- a/docs/status-data-contract.md +++ b/docs/status-data-contract.md @@ -1292,7 +1292,12 @@ the legal choice boundary separate from the displayed suggestions; `suggestions_exhaustive=false` makes that distinction machine-readable. `selection_policy.decision_owner=agent` and `recommendation_role=default_not_binding` make the priority order advisory at -this boundary rather than silently binding the first Todo. +this boundary rather than silently binding the first Todo. A ready deferred +higher-priority successor remains planning context, but neither removes an +otherwise eligible open alternative nor vetoes its explicit selection. Default +successor-replan recommendations remain available; the selected deferred Todo's +own resume condition still applies. See the +[planning-horizon decision boundary](reference/protocols/quota-planning-horizon-v0.md#agent-decision-authority). Version 2 adds the optional `continuation_hint` field to each `suggested_actions[]` item so an agent can see the candidate's next execution diff --git a/loopx/control_plane/agents/agent_scope.py b/loopx/control_plane/agents/agent_scope.py index 1ab2478165..1dbf5fba29 100644 --- a/loopx/control_plane/agents/agent_scope.py +++ b/loopx/control_plane/agents/agent_scope.py @@ -1359,6 +1359,11 @@ def _agent_scope_no_candidate_frontier( if work_lane_contract_is_due_monitor_attempt(work_lane_contract): return None if isinstance(agent_lane_next_action, dict): + # Eligibility and real delivery gates have already been qualified by + # the typed action-selection owner. Priority ranks the default route; + # it must not replace an explicitly selected eligible Todo. + if agent_lane_next_action.get("selected_by") == "agent_action_selection": + return None return _selected_candidate_priority_frontier( agent_id=agent_id, summary=agent_todo_summary, diff --git a/loopx/control_plane/quota/should_run_packet.py b/loopx/control_plane/quota/should_run_packet.py index 3e5137d616..4ebc286601 100644 --- a/loopx/control_plane/quota/should_run_packet.py +++ b/loopx/control_plane/quota/should_run_packet.py @@ -29,7 +29,6 @@ _agent_scope_deferred_resume_candidates, _agent_scope_frontier_action, _agent_scope_no_candidate_frontier, - _selected_candidate_priority_frontier, _attach_agent_identity_contracts, ) from ..agents.capability_gate import missing_required_capabilities @@ -460,22 +459,6 @@ def _delivery_preemptions_for_route( preemptions.append("control_repair") if not normal_delivery_allowed: preemptions.append("delivery_not_allowed") - requested_candidate = prepared.requested_action_candidate - agent_id = normalize_todo_claimed_by( - (prepared.agent_identity or {}).get("agent_id") - ) - if ( - not preemptions - and agent_id - and isinstance(prepared.agent_todo_summary, dict) - and isinstance(requested_candidate, dict) - and _selected_candidate_priority_frontier( - agent_id=agent_id, - summary=prepared.agent_todo_summary, - selected=requested_candidate, - ) - ): - preemptions.append("ready_deferred_successor_priority_preemption") return preemptions diff --git a/loopx/control_plane/work_items/planning_inventory.py b/loopx/control_plane/work_items/planning_inventory.py index 0dc11c41ac..b9982f2855 100644 --- a/loopx/control_plane/work_items/planning_inventory.py +++ b/loopx/control_plane/work_items/planning_inventory.py @@ -3,7 +3,6 @@ from collections.abc import Mapping from typing import Any -from ..agents.agent_scope import _selected_candidate_priority_frontier from ..todos.contract import ( TODO_TASK_CLASS_ADVANCEMENT, TODO_TASK_CLASS_MONITOR, @@ -53,7 +52,6 @@ def quota_runnable_action_candidates( if not isinstance(agent_todo_summary, Mapping): return [] - summary = dict(agent_todo_summary) capability_candidates = ( capability_gate.get("runnable_candidates") if isinstance(capability_gate, Mapping) @@ -86,14 +84,6 @@ def quota_runnable_action_candidates( or (claimed_by is not None and claimed_by != agent_id) ): continue - if _selected_candidate_priority_frontier( - agent_id=agent_id, - summary=summary, - selected=candidate, - ): - # The ready higher-priority successor owns this turn's lifecycle - # decision; it cannot be advertised as a runnable alternative. - continue todo_id = normalize_todo_id(candidate.get("todo_id")) if not todo_id or not protocol_action_text(candidate.get("text"), limit=500) or todo_id in seen: continue diff --git a/skills/loopx-self-repair/SKILL.md b/skills/loopx-self-repair/SKILL.md index dd4e49a448..fe78edc1d6 100644 --- a/skills/loopx-self-repair/SKILL.md +++ b/skills/loopx-self-repair/SKILL.md @@ -141,6 +141,15 @@ replan, or terminal closeout must return to the strict semantic checkpoint. - Do not solve contradictory payloads by guessing. If `recommended_action`, `goal_boundary.write_scope`, todos, and interaction contract disagree, treat that as a projection bug or state authoring bug first. +- Separate priority advice from authority. Use the planning horizon and current + user direction to choose useful in-scope work; do not treat P0/P1 order as a + permission gate or relabel every task to escape it. Before explaining a + refusal as recovery protection, check whether a settlement identity is + actually bound. Priority-only rejection of an eligible explicit choice is a + control-plane defect. Preserve real gates and record the changed route in + existing Todo/vision state. A committed Turn may finish with progress while + its Todo stays open; settle and release before switching, rather than treating + the binding as an obligation to finish that entire Todo first. - Do not let fallback work hide the primary blocker. When a higher-priority path is gated but safe fallback is valid, report both the concrete gate and the fallback progress. diff --git a/skills/loopx-self-repair/references/repair-patterns.md b/skills/loopx-self-repair/references/repair-patterns.md index eba00ab5f2..6636f29d49 100644 --- a/skills/loopx-self-repair/references/repair-patterns.md +++ b/skills/loopx-self-repair/references/repair-patterns.md @@ -100,7 +100,7 @@ teaches a reusable control-plane lesson. | `content_layout_sequence_acceptance_gap` | A carousel passes independent per-page density checks, but the cover is not the density peak or interior pages remain visibly sparse. | Typed layout plan, selected template `page_sequence`, renderer measurement packet, per-page densities, and `layout-check` failures. | Acceptance modeled each page in isolation and omitted sequence-level cover prominence and interior compactness defaults. | Keep project-specific narrative rules in the writing adapter, but make built-in templates require a cover first, a first-page density maximum, and an interior density floor; lock low-interior and denser-than-cover cases with focused negative smokes. | | `shared_adapter_local_path_leak` | A shared adapter projection, such as Lark Kanban sync, would write an absolute local checkout, runtime, active-state, raw-log, or artifact path into a remote/shared row. | adapter dry-run payload, generated record values, docs boundary section, public/private scan. | Adapter reused local executor context as shared control-plane metadata. | Strip or replace the local path at the adapter projection layer, add a focused smoke that rejects the path, and only store explicit worker launch context when the row was authored for that purpose. | | `peer_workspace_boundary_gap` | A peer edits or prepares repository changes from a non-git directory, unrelated worktree, or checkout that violates the selected task/repository isolation policy; a cross-repository repair may also be misclassified against the goal repo. | `agent_identity`, selected todo `task_repository` and write scopes, goal `repo`, current git origin/worktree/root, quota payload, heartbeat prompt commands, AGENTS worktree policy. | Workspace safety was inferred from identity labels, prompt text, or the goal repo alone instead of the selected task and `quota should-run`. | Add or repair `agent_workspace_guard_v1`; use a credential-free first-class `task_repository` only for genuine cross-repository tasks, and require a matching linked worktree. Block delivery and spend until the peer moves to a compliant worktree and reruns the guard with the same `--agent-id`. Keep the goal repo fallback and do not treat the field as scope or write authority. Read-only and monitor-only work should not be blocked merely by identity. | -| `workspace_guard_action_selection_projection_gap` | A foreign default Todo hides eligible alternatives, or an explicit choice repeatedly reports `control_repair` while unselected reentry restores a different default. | Initial and explicit selection qualification, Todo priorities and ready deferred successors, workspace guard, action portfolio, and receipt identity. | Workspace repair may hide candidate selection; alternatively, a refused explicit choice leaves no selected Todo and the legacy guard fallback overwrites the typed refusal with a repair for the default. | Preserve alternative selection when otherwise eligible. If selection is already deferred or rejected with no selected Todo, preserve that refusal without guarding the default. Resolve the named preemption, then explicitly select an eligible Todo; revalidate its exact workspace before binding. Keep priority and repository isolation intact. | +| `workspace_guard_action_selection_projection_gap` | A foreign default Todo hides eligible alternatives, or an explicit choice repeatedly reports `control_repair` while unselected reentry restores a different default. | Initial and explicit selection qualification, Todo priorities and ready deferred successors, workspace guard, action portfolio, and receipt identity. | Workspace repair may hide candidate selection; alternatively, a refused explicit choice leaves no selected Todo and the legacy guard fallback overwrites the typed refusal with a repair for the default. | Preserve alternative selection when otherwise eligible. If selection is already deferred or rejected with no selected Todo, preserve that refusal without guarding the default. Separate hard authority/resume/lease gates from priority advice. A ready higher-priority deferred successor must not veto an otherwise eligible explicit choice. Keep the default recommendation and planning context, repair a priority-only refusal, then revalidate the chosen workspace before binding. An unbound choice is not protected by execution identity. | | `boundary_repair_action_selection_projection_gap` | Quota selects a Todo whose required write scopes are absent from the current Goal boundary, emits `boundary_projection_repair`, and binds that blocked Todo even though another eligible Todo is runnable; same-turn selection of the alternative then fails with a receipt identity conflict. | Initial and explicitly selected `quota should-run` packets, Goal write scope, selected Todo write scopes, action portfolio, interaction selection command, and append-only heartbeat receipt events. | Boundary repair correctly blocked the default delivery, but the planning gate treated self-repair as if no eligible alternative could be selected, so recommendation order became hidden settlement authority. | Keep boundary repair fail-closed for the mismatched Todo while projecting the typed action portfolio when alternatives exist. Commit the first guard identity-less, revalidate an explicit choice against the live boundary, and append one deterministic identity upgrade without rewriting the original receipt. Retain hard conflicts for genuinely bound settlements and cover the full CLI round trip. | | `monitor_successor_routing_gap` | A material monitor poll creates a natural-language `advance` successor for another repository, but the child has no repository, action, continuation, capabilities, stable target, or creation receipt; quota then routes plausible work without a safe workspace contract. | Parent monitor metadata, `quota monitor-poll` argv and artifact, child Todo metadata, rollout event successor ids, selected Todo workspace guard. | The agent extended a bounded observation into standing work, while the monitor-poll successor API accepted only text and an optional claimer and discarded typed routing. | Retire the unintended monitor/vision. Require explicit action semantics for every monitor-generated agent successor and explicit successor repository when the source monitor is repository-bound; carry optional execution capabilities, default continuation to `independent_handoff`, and derive a stable transition target when none is supplied. Record compact successor ids and routing receipts in the monitor artifact and rollout event. External-repository work must re-enter through that typed Todo rather than prior observation prose. | | `delivery_workspace_causality_projection_gap` | A validated delivery is written in one worktree, but `refresh-state` or `spend-slot` is attempted from the goal repo, a canonical checkout, or another repository; the workspace guard correctly rejects accounting and the agent must discover the right invocation by trial and error. | Latest unspent accountable run `delivery_workspace`, selected Todo `task_repository`, refresh command cwd or `--delivery-workspace-path`, spend command cwd, `workspace_guard`, and the generated `interaction_contract.cli_channel`. | The fail-closed accounting guard owns the invariant, but the machine interaction contract exposed only generic refresh/spend commands and omitted the causal workspace requirements. | Preserve the guard. For spend-capable selected Todos with an explicit `task_repository`, project compact `delivery_workspace_causality_v0`: refresh from the producing workspace or pass its explicit delivery path, then spend from the recorded accountable workspace. Omit it from default and no-spend hot paths. | diff --git a/tests/control_plane/test_quota_settlement_cli.py b/tests/control_plane/test_quota_settlement_cli.py index af472b4aaf..b123e588ff 100644 --- a/tests/control_plane/test_quota_settlement_cli.py +++ b/tests/control_plane/test_quota_settlement_cli.py @@ -4923,68 +4923,97 @@ def test_first_call_agent_selection_is_qualified_before_receipt_commit( assert _heartbeat_receipt_count(runtime, turn_instance_id) == 1 -@pytest.mark.parametrize("foreign_workspace", [False, True]) -def test_ready_deferred_priority_is_not_an_eligible_alternative( +@pytest.mark.parametrize("provider", ["legacy", "file", "sqlite"]) +@pytest.mark.parametrize("reentry", [False, True]) +def test_ready_deferred_priority_advises_but_does_not_veto_agent_choice( tmp_path: Path, - foreign_workspace: bool, + reentry: bool, + provider: str, + monkeypatch: pytest.MonkeyPatch, ) -> None: - project, runtime, registry_path = _write_fixture(tmp_path / "portfolio") + from canonical_authority_fixture import initialize_canonical_authority, isolate_sqlite_runtime + from loopx.control_plane.coordination.runtime_shadow import build_todo_runtime_shadow_projection + + if provider == "sqlite": + isolate_sqlite_runtime(tmp_path, monkeypatch) + project, runtime, registry_path = _write_fixture(tmp_path) _configure_selectable_alternative(project) _configure_ready_deferred_priority_preemption(project) - turn_instance_id = "turn-ready-deferred-priority-selection" + if provider != "legacy": + listed_rc, listed = _run_cli(registry_path, runtime, "todo", "list", "--goal-id", GOAL_ID) + assert listed_rc == 0, listed + projection = build_todo_runtime_shadow_projection( + goal_id=GOAL_ID, handoff_mode="soft_claim", todos=listed["todos"], + ) + initialize_canonical_authority( + runtime, GOAL_ID, projection, provider=provider, + state_path=project / f".codex/goals/{GOAL_ID}/ACTIVE_GOAL_STATE.md", + ) guard_args = ( "quota", "should-run", "--codex-app", "--goal-id", GOAL_ID, - "--agent-id", AGENT_ID, "--turn-instance-id", turn_instance_id, + "--agent-id", AGENT_ID, "--turn-instance-id", "turn-priority-choice", "--scan-path", str(project), ) - first_rc, first = _run_cli(registry_path, runtime, *guard_args) - assert first_rc == 0, first - assert first["selected_todo"]["todo_id"] == TODO_ID - assert first["agent_todo_summary"]["current_agent_deferred_resume_count"] == 1 - suggested = first.get("action_portfolio", {}).get("suggested_actions", []) - assert ALTERNATIVE_TODO_ID not in {item["todo_id"] for item in suggested} + if reentry: + first_rc, first = _run_cli(registry_path, runtime, *guard_args) + assert first_rc == 0, first + assert first["selected_todo"]["todo_id"] == TODO_ID + assert first["agent_todo_summary"]["current_agent_deferred_resume_count"] == 1 + suggested = first["action_portfolio"]["suggested_actions"] + assert ALTERNATIVE_TODO_ID in {item["todo_id"] for item in suggested} + assert "settlement_identity" not in first["heartbeat_receipt"] - project, runtime, registry_path = _write_fixture(tmp_path / "selection") + selected_rc, selected = _run_cli( + registry_path, runtime, *guard_args, "--todo-id", ALTERNATIVE_TODO_ID + ) + assert selected_rc == 0, selected + assert selected["selected_todo"]["todo_id"] == ALTERNATIVE_TODO_ID + assert selected["action_selection_qualification"]["state"] == "qualified" + assert selected["normal_delivery_allowed"] is True + assert selected["heartbeat_receipt"]["settlement_identity"]["todo_id"] == ALTERNATIVE_TODO_ID + # The higher-priority deferred work remains visible and is not reopened, + # completed, or reprioritized merely to make the chosen work executable. + assert selected["agent_todo_summary"]["current_agent_deferred_resume_count"] == 1 + assert not selected.get("agent_scope_frontier", {}).get("priority_preemption") + + +@pytest.mark.parametrize("foreign_workspace", [False, True]) +def test_explicit_choice_survives_default_successor_replan_but_not_workspace_gate( + tmp_path: Path, foreign_workspace: bool, +) -> None: + project, runtime, registry_path = _write_fixture(tmp_path) _configure_selectable_alternative(project) _configure_ready_deferred_priority_preemption(project) + state_path = project / f".codex/goals/{GOAL_ID}/ACTIVE_GOAL_STATE.md" + # Without an open P0 the default recommends resolving the deferred P0. + state_path.write_text(state_path.read_text(encoding="utf-8").replace( + "[P0] Validate and settle", "[P1] Validate and settle", + ), encoding="utf-8") if foreign_workspace: registry = json.loads(registry_path.read_text(encoding="utf-8")) registry["goals"][0]["coordination"]["registered_agents"].append("codex-peer") registry_path.write_text(json.dumps(registry), encoding="utf-8") - state_path = _configure_repository_write_todo(project) - state_path.write_text( - state_path.read_text(encoding="utf-8").replace( - "action_kind=validate", "action_kind=implement" - ), encoding="utf-8", - ) - selection_args = ( - "quota", "should-run", "--codex-app", "--goal-id", GOAL_ID, - "--agent-id", AGENT_ID, - "--turn-instance-id", "turn-ready-deferred-explicit-selection", - "--scan-path", str(project), - ) - blocked_rc, blocked = _run_cli( - registry_path, runtime, *selection_args, "--todo-id", ALTERNATIVE_TODO_ID - ) - assert blocked_rc == 1, blocked - assert blocked["error_code"] == "quota_action_selection_deferred" - assert blocked["action_selection_qualification"]["reason"] == ( - "ready_deferred_successor_priority_preemption" - ) - assert "settlement_identity" not in blocked["heartbeat_receipt"] - _assert_action_selection_recovery_projections(blocked) - assert "workspace_guard" not in blocked - - selected_rc, selected = _run_cli( - registry_path, runtime, *selection_args, "--todo-id", TODO_ID + state_path.write_text(state_path.read_text(encoding="utf-8").replace( + f"todo_id={ALTERNATIVE_TODO_ID} status=open", + f"todo_id={ALTERNATIVE_TODO_ID} status=open " + "task_repository=git:example.test/team/another-repository " + "required_write_scopes=src%2F%2A%2A", + ), encoding="utf-8") + rc, selected = _run_cli( + registry_path, runtime, "quota", "should-run", "--codex-app", + "--goal-id", GOAL_ID, "--agent-id", AGENT_ID, + "--turn-instance-id", "turn-explicit-over-default-replan", + "--scan-path", str(project), "--todo-id", ALTERNATIVE_TODO_ID, ) - assert selected_rc == 0, selected - assert selected["selected_todo"]["todo_id"] == TODO_ID + assert rc == 0, selected + assert selected["selected_todo"]["todo_id"] == ALTERNATIVE_TODO_ID + assert selected["heartbeat_receipt"]["settlement_identity"]["todo_id"] == ALTERNATIVE_TODO_ID + assert selected["normal_delivery_allowed"] is (not foreign_workspace) if foreign_workspace: assert selected["effective_action"] == "agent_workspace_repair" - assert selected["normal_delivery_allowed"] is False assert selected["workspace_guard"]["blocks_delivery"] is True - assert selected["heartbeat_receipt"]["settlement_identity"]["todo_id"] == TODO_ID + else: + assert selected["effective_action"] == "normal_run" def test_pending_deferred_p0_allows_independent_p1_selection( From a4a54c191434231b97bc3d78b380f15af64f0c3a Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 20:24:59 +0800 Subject: [PATCH 4/9] feat(workspace): analyze evidence for original runtime Goals Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../goal-research-analysis.tsx | 12 +- .../analysis-desktop.png | Bin 0 -> 130586 bytes .../analysis-phone-detail.png | Bin 0 -> 59411 bytes .../analysis-phone.png | Bin 0 -> 70285 bytes .../before-desktop.png | Bin 0 -> 137475 bytes .../runtime-source-analysis/facts-desktop.png | Bin 0 -> 144090 bytes docs/development/frontend-delivery.md | 7 +- docs/reference/trajectory-assessment.md | 56 ++++++- loopx/presentation/research_analysis_api.py | 24 ++- loopx/presentation/runtime_workspace.py | 81 ++++++++-- .../test_research_analysis_api.py | 153 ++++++++++++++++++ 11 files changed, 309 insertions(+), 24 deletions(-) create mode 100644 docs/development/assets/runtime-source-analysis/analysis-desktop.png create mode 100644 docs/development/assets/runtime-source-analysis/analysis-phone-detail.png create mode 100644 docs/development/assets/runtime-source-analysis/analysis-phone.png create mode 100644 docs/development/assets/runtime-source-analysis/before-desktop.png create mode 100644 docs/development/assets/runtime-source-analysis/facts-desktop.png diff --git a/apps/presentation/dashboard/src/features/personal-workspace/goal-research-analysis.tsx b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-analysis.tsx index ccece53190..c9f2a5208d 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/goal-research-analysis.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-analysis.tsx @@ -15,7 +15,7 @@ type Job = {status: string; attempt?: number; analysis_wall_seconds?: number | n type Pack = ResearchProgressPack & {source_count: number; analysis_key: string; method_version: string; config: {model: string; effort: string; service_tier: string}; availability: string; reason_code: string | null; objective?: string; episodes?: TrajectoryEpisode[]; job?: Job | null}; -type Snapshot = {ok: true; catalog: {availability: string; reason_code: string | null; default_pack_id: string | null; packs: Pack[]}; pack: Pack | null}; +type Snapshot = {ok: true; execution_enabled?: boolean; catalog: {availability: string; reason_code: string | null; default_pack_id: string | null; packs: Pack[]}; pack: Pack | null}; type Citation = AssessmentCitation & {artifact: string; text: string; applicability: string}; const errorText = (error: unknown) => error instanceof Error ? error.message : String(error); const locationFor = (goal: string) => { @@ -117,23 +117,23 @@ export function useResearchAnalysis(goalId: string, active: boolean, zh: boolean requestAnimationFrame(() => {panel.current?.focus({preventScroll: true}); panel.current?.scrollIntoView({block: "start"});}); }; const execute = async (retry = false) => { - if (readSourceUrl) return; + if (readSourceUrl && snapshot?.execution_enabled !== true) return; if (!pack || pack.availability !== "available" || submitting.current) return; show(); submitting.current = true; setPending(true); setError(""); const current = generation.current; try { - await requestJson(endpoint, {method: "POST", body: JSON.stringify({goal_id: goalId, pack_id: pack.pack_id, analysis_key: pack.analysis_key, retry})}); + await requestJson(sourceReadApiUrl(readSourceUrl, endpoint), {method: "POST", body: JSON.stringify({goal_id: goalId, pack_id: pack.pack_id, analysis_key: pack.analysis_key, retry})}); if (current === generation.current) await read(pack.pack_id); } catch (e) {if (current === generation.current) {setError(errorText(e)); void read(pack.pack_id).catch(() => undefined);}} finally {if (current === generation.current) {submitting.current = false; setPending(false);}} }; const cancel = async () => { - if (readSourceUrl) return; + if (readSourceUrl && snapshot?.execution_enabled !== true) return; if (!pack || cancelPending) return; const current = generation.current; setCancelPending(true); try { - await requestJson(`${endpoint}/cancel`, {method: "POST", body: JSON.stringify({goal_id: goalId, pack_id: pack.pack_id, analysis_key: pack.analysis_key})}); + await requestJson(sourceReadApiUrl(readSourceUrl, `${endpoint}/cancel`), {method: "POST", body: JSON.stringify({goal_id: goalId, pack_id: pack.pack_id, analysis_key: pack.analysis_key})}); if (current === generation.current) await read(pack.pack_id); } catch (e) {if (current === generation.current) setError(errorText(e));} finally {if (current === generation.current) setCancelPending(false);} @@ -150,7 +150,7 @@ export function useResearchAnalysis(goalId: string, active: boolean, zh: boolean finally {if (current === citeGeneration.current) setCitationBusy(false);} }; const closeCitation = () => {citeGeneration.current++; setCitation(null); setCitationError(""); setCitationBusy(false); requestAnimationFrame(() => sourceTrigger.current?.focus());}; - return {readOnly: Boolean(readSourceUrl), citation, citationBusy, citationError, sourcePanel, readCitation, closeCitation, goalId, zh, location, snapshot, pack, readError, error: error || readError, loading, pending, cancelPending, recordedRunning, panel, trigger, read, show, execute, cancel, + return {readOnly: Boolean(readSourceUrl) && snapshot?.execution_enabled !== true, citation, citationBusy, citationError, sourcePanel, readCitation, closeCitation, goalId, zh, location, snapshot, pack, readError, error: error || readError, loading, pending, cancelPending, recordedRunning, panel, trigger, read, show, execute, cancel, close: () => {citeGeneration.current++; setCitation(null); setCitationError(""); setCitationBusy(false); navigate(false); requestAnimationFrame(() => trigger.current?.focus());}, select: (id: string) => navigate(location.open, id, true)}; } type Controller = ReturnType; diff --git a/docs/development/assets/runtime-source-analysis/analysis-desktop.png b/docs/development/assets/runtime-source-analysis/analysis-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1b60359e5e1975bd0db2e855dd01185edac4863d GIT binary patch literal 130586 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•+)mPywhaJxlNC(Ep$8Un)!T+RaL-%Ruqey9h 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
c5hd5em8pB3Gq^VV9ZSB~ct`yL=Ui5xk;1Dy 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 IM6N<$f^e?6y8r+H literal 0 HcmV?d00001 diff --git a/docs/development/assets/runtime-source-analysis/analysis-phone.png b/docs/development/assets/runtime-source-analysis/analysis-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..c63a584bef3969f8b7a7716c0c67eccd456346b4 GIT binary patch literal 70285 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 literal 0 HcmV?d00001 diff --git a/docs/development/assets/runtime-source-analysis/before-desktop.png b/docs/development/assets/runtime-source-analysis/before-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..caed23805bb7de1d54740046f97b94eae18a4de0 GIT binary patch literal 137475 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•+)mPywhaJxlNC(Ep$8Un)!T+RaL-%Ruqey9h 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 z
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 z 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 z%0A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 ZvOyts`Y7;z8vM&EF(E0zQvPq={|~{`2`B&n literal 0 HcmV?d00001 diff --git a/docs/development/frontend-delivery.md b/docs/development/frontend-delivery.md index b2bccb766c..efc619a005 100644 --- a/docs/development/frontend-delivery.md +++ b/docs/development/frontend-delivery.md @@ -78,9 +78,12 @@ are withheld on failure; retry targets the failed selection, not the last successful reader. Switching prepared readers clears source-local question and analysis selections; Back restores the previous reader's URL and its own selection. -All mutation endpoints are denied. A read-only source does not imply an +By default all mutation endpoints are denied. A read-only source does not imply an analysis pack, model execution, adoption or validated benefit; analysis remains -unavailable until its existing owner binds the appropriate source pack. +unavailable until its existing owner binds the appropriate source pack and the +operator explicitly enables [local analysis](../reference/trajectory-assessment.md#existing-isolated-goal-sources). +That separate local provider uses the original source Goal id and a +source-namespace-isolated store; it creates no Goal mirror or source mutations. The adapter uses one local Python process with one HTTP listener/thread per prepared source. Cache misses invoke the source's native status CLI or bounded log read; no lower CPU, process or IO cost is implied. Local host/container diff --git a/docs/reference/trajectory-assessment.md b/docs/reference/trajectory-assessment.md index 5756fb795d..da6671adaf 100644 --- a/docs/reference/trajectory-assessment.md +++ b/docs/reference/trajectory-assessment.md @@ -1,9 +1,9 @@ # Evidence-bound trajectory assessment -Status: an opt-in analysis producer, source-verified pack registry and metric -protocol. The packaged Goal-view consumer and independent evaluator calibration -remain separate acceptance work. -This implements the read-only producer slice of the S5/S11 +Status: source-verified trajectory packs, an opt-in analysis producer and the +packaged Goal reader. Independent evaluator calibration and scientific +treatment-effect qualification remain separate acceptance work. +These use the S5/S11 [research episode assessment](../architecture/rfcs/long-horizon-harness-benchmark-research-program-v0.md#evidence-based-episode-evaluation-proposed-refinement). It does not change solver prompts, benchmark scoring, checkpoints or research budgets. @@ -414,6 +414,54 @@ settings or arbitrary commands. Native utility remains unknown without its measured projection. Agent judgments are uncalibrated and do not establish scientific gains or a whole-run success rate. +### Existing isolated Goal sources + +The prepared runtime workspace can use this same reader and analysis provider +without copying an execution Goal into the local registry. Start its ordinary +entry with an explicit, local analysis store: + +```sh +python -m loopx.presentation.runtime_workspace --sources sources.json \ + --analysis-runtime-root .local/source-analysis +``` + +This option enables **local** Codex analysis on explicit button clicks. It uses +the local account and incurs separate analysis usage. Omitting it preserves +the original read-only behavior: no analysis jobs or mutations are accepted. +It grants no source-Goal lifecycle, conversation, scoring or solver writes. +Stop and restart the reader without the option to disable local execution; +historical packs remain on disk. Cancel running analysis through its existing +action before stopping the server. + +The trusted curator registers authorized inputs through the existing +`trajectory-pack-register` command. For each source, use runtime root +`/goal-sources/` and the **original +source Goal id** as `--goal-id`. The input's `scope.goal_id` must match that id. +The namespace is returned by `/api/goal-source`; it binds the prepared physical +source, including its pinned container and registry. Keep the native run, +checkpoint, evidence revisions and observation window explicit in the pack. +Registration creates analysis artifacts only; it does not create or reparent +a Goal. Parent/child organization remains whatever the original authority +actually records. + +The packaged Goal overview then shows registered factual measurements and +citations without a model call. **Deep analysis** explicitly invokes the same +toolkit provider, claim, retry, cancellation and result validation as the local +Goal reader. Its selector, refresh and browser history retain the physical +source. Analysis reads and writes require its namespace and current registered +Goal membership; another source with the same Goal name cannot read or execute +those packs. Removed or unavailable sources fail visibly and retry against the +original selection. Changed evidence retains its historical result and prevents +new execution until its source is requalified. + +The following packaged reader uses a synthetic Goal, evidence and provider +response. Its example values do not qualify model judgment or benchmark gains. + +![Original source Goal with local factual measurements](../development/assets/runtime-source-analysis/facts-desktop.png) + +[After explicit analysis](../development/assets/runtime-source-analysis/analysis-desktop.png) +and the [narrow-screen metric reader](../development/assets/runtime-source-analysis/analysis-phone-detail.png). + The synthetic packaged example below illustrates the reader and its scope controls; its numbers are test data, not benchmark findings. Real registered checkpoint reads are qualified separately from this presentation example. diff --git a/loopx/presentation/research_analysis_api.py b/loopx/presentation/research_analysis_api.py index cbeb94eb9f..1a62920144 100644 --- a/loopx/presentation/research_analysis_api.py +++ b/loopx/presentation/research_analysis_api.py @@ -13,6 +13,20 @@ class ResearchAnalysisRequestMixin: + def _research_analysis_query(self): + query = parse_qs(urlparse(self.path).query, keep_blank_values=True) + namespace = getattr(self.server, "analysis_source_namespace", None) + if namespace is not None and query.pop("source_namespace", []) != [namespace]: + raise ValueError("Analysis source identity changed") + return query + + def _research_analysis_verify_source_goal(self, runtime, goal_id, pack_id, pack=None): + if getattr(self.server, "analysis_source_namespace", None) is not None: + if pack is None: + pack = store.inspect_pack(runtime_root=runtime, owner_goal_id=goal_id, pack_id=pack_id) + if pack["scope"]["goal_id"] != goal_id: + raise ValueError("The analysis input belongs to a different source Goal") + def _research_analysis_scope(self, goal_id): validate_goal_id(goal_id) selected = getattr(self.server, "selected_goal_id", None) @@ -23,7 +37,7 @@ def _research_analysis_scope(self, goal_id): def _research_analysis_read(self): try: - query = parse_qs(urlparse(self.path).query, keep_blank_values=True) + query = self._research_analysis_query() citation = urlparse(self.path).path.endswith("/citation") required = {"goal_id", "pack_id", "analysis_key", "source_id", "first_line", "last_line"} if citation else {"goal_id"} allowed = required if citation else {"goal_id", "pack_id"} @@ -35,6 +49,7 @@ def _research_analysis_read(self): if runtime is None: return if citation: + self._research_analysis_verify_source_goal(runtime, goal_id, values["pack_id"]) first = int(values.pop("first_line")) last = int(values.pop("last_line")) if first < 1 or last < first: @@ -45,7 +60,11 @@ def _research_analysis_read(self): catalog = store.discover(runtime_root=runtime, owner_goal_id=goal_id) pack_id = values.get("pack_id") or catalog["default_pack_id"] pack = store.inspect_pack(runtime_root=runtime, owner_goal_id=goal_id, pack_id=pack_id) if pack_id else None + if pack_id: + self._research_analysis_verify_source_goal(runtime, goal_id, pack_id, pack) result = {"ok": True, "catalog": catalog, "pack": pack} + if hasattr(self.server, "analysis_execution_enabled"): + result["execution_enabled"] = self.server.analysis_execution_enabled self._send_json(result) except store.PackUnavailable as exc: self._send_error("The registered analysis source is unavailable.", status=409, error_code=exc.reason_code) @@ -56,6 +75,8 @@ def _research_analysis_read(self): def _research_analysis_write(self): try: + if getattr(self.server, "analysis_source_namespace", None) is not None and self._research_analysis_query(): + raise ValueError("Only the bound analysis source selector is accepted") body = self._read_json(max_bytes=4096) cancel = urlparse(self.path).path.endswith("/cancel") required = {"goal_id", "pack_id", "analysis_key"} @@ -69,6 +90,7 @@ def _research_analysis_write(self): return args = dict(runtime_root=runtime, owner_goal_id=body["goal_id"], pack_id=body["pack_id"], analysis_key=body["analysis_key"]) + self._research_analysis_verify_source_goal(runtime, body["goal_id"], body["pack_id"]) # The server's existing threaded request is the asynchronous host. # Provider key/claim, source verification and cancellation # remain with benchmark-toolkit; nothing executes on GET. diff --git a/loopx/presentation/runtime_workspace.py b/loopx/presentation/runtime_workspace.py index 28942deca9..7703aa3963 100644 --- a/loopx/presentation/runtime_workspace.py +++ b/loopx/presentation/runtime_workspace.py @@ -19,26 +19,33 @@ from ..capabilities.explore.result_log import explore_history_rows from ..control_plane.status.goal_source import GoalSource, GoalSourceReader, SourceScopeError -from ..status_server import cors_response_headers, is_loopback_host, is_loopback_origin +from ..status_server import cors_response_headers, is_loopback_host, is_loopback_origin, parse_strict_json_object from .chat_bundle import validate_bundle +from .research_analysis_api import RESEARCH_ANALYSIS_PATH, ResearchAnalysisRequestMixin class RuntimeWorkspaceServer(ThreadingHTTPServer): daemon_threads = True - def __init__(self, source, assets_dir, *, port=0): + def __init__(self, source, assets_dir, *, port=0, analysis_runtime_root=None): super().__init__(("127.0.0.1", port), RuntimeWorkspaceHandler) self.source = source self.reader = GoalSourceReader(source, history_projector=explore_history_rows) self.assets_dir = Path(assets_dir).resolve() self.catalog = [] + # A local analysis store never becomes the remote Goal's authority. + # Physical source identity isolates even identically named Goals. + self.analysis_runtime_root = (Path(analysis_runtime_root).expanduser().resolve() + / "goal-sources" / source.namespace) if analysis_runtime_root is not None else None + self.analysis_source_namespace = source.namespace + self.analysis_execution_enabled = self.analysis_runtime_root is not None @property def status_url(self): return f"http://127.0.0.1:{self.server_port}/status.json?source_namespace={self.source.namespace}" -class RuntimeWorkspaceHandler(BaseHTTPRequestHandler): +class RuntimeWorkspaceHandler(ResearchAnalysisRequestMixin, BaseHTTPRequestHandler): def log_message(self, *_args): pass @@ -54,6 +61,9 @@ def _json(self, payload, status=200): self.wfile.write(body) def _allowed(self): + if len(self.headers.get_all("Host", [])) != 1 or len(self.headers.get_all("Origin", [])) > 1: + self._json({"ok": False, "error": "Loopback owner access required."}, 403) + return False try: host = urlparse("//" + self.headers.get("Host", "")).hostname or "" except ValueError: @@ -64,12 +74,49 @@ def _allowed(self): return True def do_POST(self): + if self._allowed(): + if (self.server.analysis_execution_enabled + and urlparse(self.path).path in {RESEARCH_ANALYSIS_PATH, RESEARCH_ANALYSIS_PATH + "/cancel"}): + self._research_analysis_write() + return + self._json({"ok": False, "error": "This source is read-only."}, 405) + + def _reject_mutation(self): if self._allowed(): self._json({"ok": False, "error": "This source is read-only."}, 405) - do_PUT = do_POST - do_PATCH = do_POST - do_DELETE = do_POST + do_PUT = _reject_mutation + do_PATCH = _reject_mutation + do_DELETE = _reject_mutation + + def _send_json(self, payload, *, status=200): + self._json(payload, status) + + def _send_error(self, message, *, status=400, error_code=None): + self._json({"ok": False, "error": message, **({"error_code": error_code} if error_code else {})}, status) + + def _read_json(self, *, max_bytes): + if len(self.headers.get_all("Content-Length", [])) != 1 or self.headers.get("Transfer-Encoding"): + raise ValueError("Invalid analysis request framing") + length = int(self.headers.get("Content-Length") or "0") + if not 0 < length <= max_bytes: + raise ValueError("Invalid analysis request size") + return parse_strict_json_object(self.rfile.read(length)) + + def _research_analysis_scope(self, goal_id): + # Check current access and actual registered membership before local + # pack reads or provider effects. No host registry entry is created. + try: + goals = self.server.reader.goals(goal_id)["items"] + if not any(goal["id"] == goal_id and goal.get("registry_member") is True for goal in goals): + raise SourceScopeError("Analysis requires a registered source Goal") + except SourceScopeError: + self._send_error("Goal or connection is not available in this source.", status=404) + return None + except (ValueError, OSError, subprocess.SubprocessError): + self._send_error("The original Goal source is unavailable; refresh to retry.", status=503) + return None + return self.server.analysis_runtime_root def do_OPTIONS(self): if self._allowed(): @@ -97,7 +144,9 @@ def do_GET(self): return try: if parsed.path == "/api/goal-source": - self._json(self.server.reader.describe()) + description = self.server.reader.describe() + description["operations"]["analysis"] = self.server.analysis_execution_enabled + self._json(description) elif parsed.path.startswith("/api/goal-source/"): if query.get("source_namespace") != [self.server.source.namespace]: self._json({"ok": False, "error": "Source identity changed; read its description again."}, 409) @@ -120,9 +169,15 @@ def do_GET(self): elif parsed.path == "/api/chat/explore-results" and query.get("view") == ["history"]: cursor = query.get("cursor", [""])[0] self._json(self.server.reader.history(goal_id, cursor)) - elif parsed.path == "/api/chat/research-analysis": - self.server.source.check_access(goal_id) - self._json({"ok": False, "error": "此运行来源尚未绑定分析包。"}, 503) + elif parsed.path in {RESEARCH_ANALYSIS_PATH, RESEARCH_ANALYSIS_PATH + "/citation"}: + if self.server.analysis_execution_enabled: + self._research_analysis_read() + else: + self.server.source.check_access(goal_id) + if parsed.path == RESEARCH_ANALYSIS_PATH: + self._json({"ok": False, "error": "此运行来源尚未绑定分析包。"}, 503) + else: + self._json({"ok": False, "error": "Read endpoint is not available for this source."}, 404) else: self._json({"ok": False, "error": "Read endpoint is not available for this source."}, 404) except SourceScopeError: @@ -155,6 +210,8 @@ def main(): parser.add_argument("--sources", type=Path, required=True, help="Owner-prepared Goal source manifest") parser.add_argument("--assets-dir", type=Path, help="Explicit custom/prototype assets, as in loopx chat") parser.add_argument("--port", type=int, default=0, help="First loopback port; default allocates temporary ports") + parser.add_argument("--analysis-runtime-root", type=Path, + help="Explicit local analysis storage and Codex execution; never writes to the original Goal source") args = parser.parse_args() assets = (args.assets_dir or Path(__file__).resolve().parents[1] / "web" / "chat").expanduser().resolve() if args.assets_dir is None: @@ -175,7 +232,8 @@ def main(): parser.error("Choose unprivileged ports for all readers") if len({s.id for s in sources}) != len(sources): parser.error("Source ids must be unique") - servers = [RuntimeWorkspaceServer(source, assets, port=args.port + i if args.port else 0) + servers = [RuntimeWorkspaceServer(source, assets, port=args.port + i if args.port else 0, + analysis_runtime_root=args.analysis_runtime_root) for i, source in enumerate(sources)] catalog = [{"id": s.source.id, "label": s.source.label, "status_url": s.status_url} for s in servers] threads = [] @@ -186,6 +244,7 @@ def main(): threads.append(thread) print(json.dumps({"ok": True, "read_only": True, "sources": [{**item, "namespace": server.source.namespace, + **({"analysis_enabled": True} if server.analysis_execution_enabled else {}), "access_url": f"http://127.0.0.1:{server.server_port}/api/goal-source", "url": f"http://127.0.0.1:{server.server_port}/chat/?" + urlencode({ **({"goalId": server.source.goal_id} if server.source.goal_id else {}), diff --git a/tests/presentation/test_research_analysis_api.py b/tests/presentation/test_research_analysis_api.py index 5e83c008c4..275d24dda2 100644 --- a/tests/presentation/test_research_analysis_api.py +++ b/tests/presentation/test_research_analysis_api.py @@ -4,6 +4,7 @@ No active Goal, solver state, model account or evaluator is touched. """ from concurrent.futures import ThreadPoolExecutor +from contextlib import contextmanager import hashlib import json import os @@ -18,6 +19,8 @@ from loopx.capabilities.benchmark_toolkit.trajectory_assessment_store import register_pack from loopx.chat_server import ChatHTTPServer, ChatRequestHandler +from loopx.control_plane.status.goal_source import GoalSource +from loopx.presentation.runtime_workspace import RuntimeWorkspaceServer @pytest.fixture @@ -173,3 +176,153 @@ def test_native_outcomes_and_bound_citations_read_over_http_without_analysis(wor assert not w["count"].exists() with pytest.raises(HTTPError): w["request"](goal="other-owner", pack_id=registered["pack_id"]) + + +@contextmanager +def source_analysis_workspace(w, name, *, enabled=True): + """Synthetic source transport; actual local store, HTTP and provider process.""" + class Source(GoalSource): + failed = False + registered = True + + def __init__(self): + super().__init__(name, name, "/registry", "/runtime", "/cli", "/python", + "/bin", "local", "host", "research-owner") + + def read_status(self, goal_id=None): + self.check_access(goal_id) + if self.failed: + raise OSError("Private source diagnostic") + return {"ok": True, "run_history": {"goals": [{"id": self.goal_id, + "registry_member": self.registered}]}} + + server = RuntimeWorkspaceServer(Source(), w["tmp_path"], + analysis_runtime_root=w["tmp_path"] / "source-analysis" if enabled else None) + data = json.loads((w["tmp_path"] / "input.json").read_text()) + data["scope"].update(goal_id="research-owner", case_id=name) + path = w["tmp_path"] / f"input-{name}.json" + path.write_text(json.dumps(data)) + pack = register_pack(runtime_root=server.analysis_runtime_root or w["tmp_path"] / "disabled", + owner_goal_id="research-owner", input_path=path, source_root=w["sources"], title=name) + operation = dict(goal_id="research-owner", pack_id=pack["pack_id"], analysis_key=pack["analysis_key"]) + worker = threading.Thread(target=server.serve_forever, daemon=True) + worker.start() + + def request(*, body=None, suffix="", namespace=server.source.namespace, method=None, headers=None, **query): + if namespace is not None: + query["source_namespace"] = namespace + if body is None: + query.setdefault("goal_id", "research-owner") + url = f"http://127.0.0.1:{server.server_port}/api/chat/research-analysis{suffix}?{urlencode(query)}" + req = Request(url, data=None if body is None else json.dumps(body).encode(), method=method, + headers={"Content-Type": "application/json", **(headers or {})}) + with urlopen(req, timeout=25) as response: + return json.load(response) + + try: + yield dict(request=request, operation=operation, server=server, input_path=path) + finally: + server.shutdown() + worker.join(timeout=5) + server.server_close() + + +def test_source_goal_analysis_reads_cancel_retry_and_reuse_do_not_mutate_source(workspace): + w = workspace + with source_analysis_workspace(w, "retained") as s: + read, operation = s["request"], s["operation"] + snapshot = read() + assert snapshot["execution_enabled"] is True + assert snapshot["pack"]["scope"]["goal_id"] == "research-owner" + assert snapshot["pack"]["job"] is None and not w["count"].exists() + with ThreadPoolExecutor(max_workers=1) as pool: + running = pool.submit(read, body=operation) + until = time.monotonic() + 8 + while time.monotonic() < until: + job = read()["pack"]["job"] + if job and job["status"] == "running": + break + time.sleep(.05) + else: + pytest.fail("Local source-analysis process did not start") + assert read(body=operation)["job"]["status"] == "busy" + assert read(body=operation, suffix="/cancel")["job"]["cancel_requested"] + assert running.result(timeout=8)["job"]["status"] == "cancelled" + w["mode"].write_text("ok") + assert read(body={**operation, "retry": True})["job"]["status"] == "succeeded" + view = read()["pack"] + assert view["result"]["assessments"][0]["verdict"] == "no" + calls = w["count"].read_bytes() + assert read(body=operation)["job"]["reused"] + assert w["count"].read_bytes() == calls + citation = dict(pack_id=operation["pack_id"], analysis_key=operation["analysis_key"], + source_id="facts", first_line=2, last_line=2) + assert read(suffix="/citation", **citation)["text"] == "Only the diagnostic was measured; native utility remains untested." + for path, original in w["before"].items(): + assert path.read_bytes() == original + (w["sources"] / "facts.txt").write_text("changed source") + assert read()["pack"]["applicability"] == "historical" + assert read(suffix="/citation", **citation)["text"] == "Only the diagnostic was measured; native utility remains untested." + with pytest.raises(HTTPError) as changed: + read(body=operation) + assert changed.value.code == 409 + + +def test_source_analysis_requires_exact_namespace_goal_and_live_membership(workspace): + w = workspace + with source_analysis_workspace(w, "retained") as a, source_analysis_workspace(w, "fresh") as b: + assert a["server"].analysis_runtime_root != b["server"].analysis_runtime_root + assert a["request"]()["pack"]["scope"]["case_id"] == "retained" + assert b["request"]()["pack"]["scope"]["case_id"] == "fresh" + for namespace in (None, "0" * 64, b["server"].source.namespace): + with pytest.raises(HTTPError): + a["request"](namespace=namespace) + with pytest.raises(HTTPError): + a["request"](namespace=namespace, body=a["operation"]) + for body in (a["operation"], {**b["operation"], "goal_id": "another-goal"}): + with pytest.raises(HTTPError): + b["request"](body=body) + with pytest.raises(HTTPError): + b["request"](pack_id=a["operation"]["pack_id"]) + source = a["server"].source + for registered, failed, code in ((False, False, 404), (True, True, 503)): + source.registered, source.failed = registered, failed + a["server"].reader._read_at = 0 + with pytest.raises(HTTPError) as denied: + a["request"](body=a["operation"]) + assert denied.value.code == code + source.registered, source.failed = True, False + a["server"].reader._read_at = 0 + assert a["request"]()["pack"]["scope"]["case_id"] == "retained" + assert not w["count"].exists() + + +def test_source_analysis_default_off_and_non_analysis_writes_stay_disabled(workspace): + w = workspace + with source_analysis_workspace(w, "disabled", enabled=False) as s: + with pytest.raises(HTTPError) as unavailable: + s["request"]() + assert unavailable.value.code == 503 + with pytest.raises(HTTPError) as unavailable_citation: + s["request"](suffix="/citation") + assert unavailable_citation.value.code == 404 + with pytest.raises(HTTPError) as readonly: + s["request"](body=s["operation"]) + assert readonly.value.code == 405 + with source_analysis_workspace(w, "enabled") as s: + for method in ("PUT", "PATCH", "DELETE"): + with pytest.raises(HTTPError) as readonly: + s["request"](body=s["operation"], method=method) + assert readonly.value.code == 405 + with pytest.raises(HTTPError) as origin: + s["request"](body=s["operation"], headers={"Origin": "https://unrelated.example"}) + assert origin.value.code == 403 + data = json.loads(s["input_path"].read_text()) + data["scope"]["goal_id"] = "another-goal" + s["input_path"].write_text(json.dumps(data)) + registered = register_pack(runtime_root=s["server"].analysis_runtime_root, + owner_goal_id="research-owner", input_path=s["input_path"], source_root=w["sources"], title="Wrong Goal") + for body in (None, dict(goal_id="research-owner", pack_id=registered["pack_id"], analysis_key=registered["analysis_key"])): + with pytest.raises(HTTPError): + s["request"](body=body) + assert not w["count"].exists() From e211261a1b279d3294866e985b3437d889a0b905 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 20:35:01 +0800 Subject: [PATCH 5/9] fix(lark): clarify read failures and include packaged first-screen evidence Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../personal-workspace/lark-settings-page.tsx | 3 ++- .../personal-workspace/personal-workspace.css | 1 + .../screenshots/lark-progressive/desktop.png | Bin 0 -> 51394 bytes .../screenshots/lark-progressive/narrow.png | Bin 0 -> 34836 bytes loopx/chat_lark_api.py | 10 +++++++++- loopx/extensions/lark/goal_topic_connections.py | 2 +- .../test_lark_goal_topic_connections.py | 2 +- tests/test_chat_lark_api_contract.py | 1 + 8 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 examples/personal-workspace-browser/screenshots/lark-progressive/desktop.png create mode 100644 examples/personal-workspace-browser/screenshots/lark-progressive/narrow.png diff --git a/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx b/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx index da34457ba7..a17d91c520 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx @@ -182,6 +182,7 @@ function larkErrorMessage(cause: unknown, fallback: string, t: WorkspaceTranslat lark_message_permissions_required: t("lark.error.messagePermissions"), lark_app_required: t("lark.error.appRequired"), invalid_lark_app: t("lark.error.invalidApp"), + lark_configuration_unavailable: t("lark.error.configuration"), lark_group_lookup_failed: t("lark.error.groupLookup"), provider_api_failed: t("lark.error.provider"), }; @@ -563,7 +564,7 @@ export function LarkSettingsPage({ {tab === "apps" ? (

-
{t("lark.reusableApps", { count: apps.length })}
+
{t("lark.reusableApps", { count: apps.length })}
{apps.map((app) => (
diff --git a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace.css b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace.css index 5559def549..b190bc3c55 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace.css +++ b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace.css @@ -789,6 +789,7 @@ button.personal-execution-chip:focus-visible { outline: 2px solid #0070f3; outli .personal-lark-loading, .personal-lark-empty { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 130px; color: var(--pw-muted); font-size: var(--text-body); line-height: var(--leading-body); } .personal-lark-apps { max-width: 1180px; margin: 0 auto; } .personal-lark-app-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--pw-muted); font-size: var(--text-caption); line-height: var(--leading-caption); } +.personal-lark-app-actions { display: flex; align-items: center; gap: 8px; } .personal-lark-app-toolbar .personal-primary-action { width: auto; min-height: 40px; margin: 0; padding: 0 16px; } .personal-lark-app-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; } .personal-lark-app-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 18px; border: 1px solid var(--pw-line); border-radius: 15px; background: var(--pw-card); } diff --git a/examples/personal-workspace-browser/screenshots/lark-progressive/desktop.png b/examples/personal-workspace-browser/screenshots/lark-progressive/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..a270a938cb7114e9e184e432b814682ae8caef92 GIT binary patch literal 51394 zcmeFZWmJ`07e8tMf^mC=E(TcMFKL2uP=dga{i^x;qpEX_5BM zZJhV(|Bn0R-ZAbTjx#(6oBgb3t~r0To-j34dF-p?S1(++fUT$?qjBK^>gt6Hmq*br z!B>b-wm2?axX5lREv;s9;etm-Qmp8m%aVA{sHG)_`EzoD-zV7)Gnk91VG`c7Nn@6I z+q;5pP7u=@c3^vkKl(Tz3cbj&1ceQs!dtRDYHQ{iNi0#C+2a?!?&C9Lp&Yakg)e7z zrj;6OhE-LgdhRkUKTXpaGpjE8_LHN;_nw(gy50D_J4c2K4PHjN0-bw(v1Pt*LVT9? zlD>K@8fMMpDk+}Qs0xJCi*+V19sk%`EPcE_7=EtOzDcQ@WFKyYFzQaPF4xaR2wA7* z5P1`ISG{SXpHs{0QDBK3;gk)d6Dk!t$X|Yxd|%L1`*05{Ys2^5V}EW^5!p#I>dh+d zGg8|gl~k2?dw23=`5r5eVdd4+-6vVFmMooanD~#0C!dA3 z8gf*Xln7)J!%4V|>+9>$>3+X*1lu(5@c+Ex^vxeg%lvs+7LZQ=`+6D+n&96r%iIrd z!~XZ}Y5)JX|DUYPNB(*YT-=!GXjLI`9-f_^gd1=NuyAmQ(>9KOtbfiD|Iqn;s_y6a zDG~|_w$Q&XWBQtIO9fG-6i$vo+kqTebS1ec@|ERfx3$6i%U5t{K7@sbhlhst+wj}f zG(KGFy4UE|7Vm%dgCvKNzSzax{pZ0!S7+cA+)r8J&X$T?TxA4|O5L^&zVE}Yp<)tK z^4Wu{If;phT@*Wc(Dg+`MX}#}-D>@%6P<{G zfzjZ1*0@Wglb)CuRKwybA|jGF|7ENzc6x7DB!xkf>*N zw&l_KD2w2ALP86B`{K8Lf2x%($E~Mx9<2!ZeSEQ#7cM=AOQ*Gd=;qcb-3copthGMd z?46n*=xofz#nr%lDTVW1<9tz25Q-HxYZ78)xL5_rd*CWqZ|i>>DK2EUu(D#jv9Yo7ZLF--s+TxO3}Gnjxw|}C zY8WScjag0N-zKqAxQ{BRWS8)CFE1xIcWbtptvW5V|3yvSpa$`HgR6C^K}}+!%yU8K z7p<+WyZwEA-+Q@QiPlJ{satIZa=N>_15h!|rGIYCZOyg*DmAQ&-R(}O(vW%;lxGXK z{HERTHr!E)*>bbXiwp$`uqEvJogL?4e9%# za!^MpuU#8~`d_dQ2< z3J3^bQhCmh!lIrd12y7iGE)C=2`Yp3?at0lPZAr+U{>9npW(ktZ@xr$MG$Ut!i~E) zSXk`FO@|LTno&2te}DV<`)eJFDW|8GP??ldADkWkP)Qe9Fw@gZt*Y9KAmKXLoQY6C z#qCYzSpV`Rc{do{eYr?G6^|^q6za+I^9#}4Qk~aYil20gw2t<^rVPD#^M=J_b!|<^ z@AQz`|8!t%j6^89lKXEzQtwJV52d)%yKERaH9k)2Bf!h6(G;1KbZs!N(>96s4+Mj(KYFNA$szqFP%(GTS-?>Z@eP}*M78wMVHf= z>Ctj`oKg~NzKFxu!=0rRE|V^}Z9yXYOqVUU6E%E%nzFL8GHR=;dQ-TvHmk-LpJ7vc z$`A^SnTEpjG+6428ZwOh+YXq&^RAE!hC1B0Z}xiZy3ih+m&ee_A1aGOc}p!@3KjOZ zcCikJVXedVd>cZgE%;!SH17sN`pT6nW*W4#w6NV{hgN!1sD)hec8AYSe)^{ga5!Dr_^NuzW8|9Yv)=H)r0~ zMMYt2QvBV@i1LqDoq|*!^SN&t#i>H62z%|nN>88KS^6;NwO-mDjQJBbpvwwkU|>K| zQL)B;j8i=)C_YTYW7`xyG}>5Tp@X9%&%)QQb&tOr%oM&5^9|STdw%nddqG{DJG4yf zH&d7f{v4J{Vyd0elG;`hu+S4Ih(5VsXFHfH!0yN=ed^0-zRIFW{%j`|B@M$QET@vv(jQJTNt3=sGG3-D$;rv`(Ud%u%2DJu zNvC5cq$WL9`)SS4e0+VA+%;aQ(MtZ=*=g6O(Z4H7(`7>Enf3p52CG3&XbW{)b-xeR zuf4sUpIjwA*+}{EcQh>0mpaARvss2VT*?Wtu}?6d`?vU>g!9`^ROUO4RlpKL-77Ze zUE%oq?lOrOyrT6zq%(U-?Ck6r)mWTq&@t)P6*>Ani-fo<(ElxgP-Ct;|9(v7 zevfiYJ#7vk@xzVq#-Q#l)lxL5GaPoL`ZYl!Pm8 za9QzMt2H+_hfkguQd?Ua9Uc95VGS(+agb#X*wi{q@IoO_Q&Tq=vg*D${a!bxQ)-~? z{w0=HTJ?npOX26t+aY*gp=XLbT$It$(h4JB#Gw{*@Ns?m^eGI#ogY7vaPjv`Oj^Y* zr}Y0RF@ynN81+Wl8qclfpK!mdwkOzh-?)7nwmm)EvFM8AslT9+>UVZ5>U*q}r($Vo z`Rn{FX}D`(;Nc1)N!jtwt-mpU(d1F*0vVU+u1@kjo zDwzB1^k@&CUM@rUk&;aeBJI{gWE0SMb1^$6Ki>+f99n}(o&r9-yT9}Wey8bMD>AIm zb=J#TM~gJ&|1_f&EG*=kkCvIlh{&pb{hZ|wZ5|;Tu(#4H2%QLE10xgD;==m~lBK1k z(vlL5H_KnM{5OY-5Ae0_a2(F9>Z3An19W`r4TB04Y#nf5nl z{!W$^Zse5(5)cw{88^W`$-V>QyxHp}H#heRZ$(7~i#61$7U`oeAJcBykFI`V(SDss z^ZV8#Jb&MLTmI)(y~%xPd>>5p_P#mIwUi2eU5XK(t#dZnoNoAgt*Y%)PYKnJX=>I+ zipR!G{7cg(>l+$s941_*>mS1Um+4jHaHHDWufNtVMyw&%cem%p-|`Jvz!#KB6l*;{ zUJoO@vCLnY1SsMFCb+{yCE^m{4OOBtHN0wywq{AO(xg=+$Egf zcj+qtIfNVZll>QGaB-b%>o7lHysfywY8h19&=z)dbci3$2g1nsvyl_|wzXL3jz45e zhjc|zSX(}=b)16zH#jqM{bG1V6$}NO>%w~a`ewpnVt&wb#Lo|NH}3$FjM3FMDBz;6 zt*aaJz2$qn4`3lUIN0oXxhElln1fu{?bY9Fx(LfZ;18?9MgQ5$!-J;2NV727Wvp? zcDMT(4J}KL9%YyA=}s;CDxw{Ucef=SH&%CPPY@7~^Laq&mr z5@+L~tx<5BKG~#ncHZjmSBpaf<^aqk(6bsW>hc{DU^@}Olaz#b~k z`P({xb}(?IzA|cXsW5*ZbRctso-3s+e%5qBVK=m~8m3)7U=(6dQ;7w}2Lc-syNkE(Lo?c$5 z&dkg#)A_kMqxpu9fq{XSmmoVPAwd&iJyvR{3j80ZL4?TWbl@T)kNOc*QgKf@w6 zHZ~Uc=(HsNt#9VHyc76>=uXL8CedLtZ{6pbJYAu+`<@&`MMjD|`bHE_63A6iSvhz+ z@jgru_pMoNs!!>HT(q=ifYcfzlGybtO$5(zC4@58PE(S=pR!N5>dR{jWlhzfB8)u3RutR1fT4VoO3xaKFQ_F-7^|0?8D zY(raALc$RA7g3+XZ9tl;nZh+N(^APOC{9KVo$tMUTnZJ4W^xng4`A`UjI7vLn!l?P z>Js@8+bIuNI$eF5fTIC4T)Y+KRPKvKQK0eE)z!7Fv>tzBV^4EAhrTX$wy*gQwI%Xd znm=%bT`)gCpUh#XQ=(S^__g)d`N@-umm42{Z**Bv5{WqMLLdlX9>gOc419>9xbfddMH{*z2z}tN z0Xpibo2zRAU)m5FApgMO4;u0|2on+1#ifzhh8TS$duuFjd7iIS2MrpgGga_JD9 zQlka}Ayo~H_|j6xnZ`%BR3e9Kg;_x9-G*PO>s{dcp#!5hi{EaTc?EGd;}(wvUktOX!OlJ zZ>Tw-N=wn|;A z#wZZiwu7IyLL^Ey7?|t`2o`TXKg{dw z1OS0qUaeJBGHl0oYGP?GbX4^l-&);6j#POGEqoG+;AJW2`|)xKq1^PGXh*>{QKExb zao?AhKdU0kDscoxSkA`XTtx|&xYSe|OR{D1u&{-0F0I!N+N7?#);Ey71%c)fML~!7 zLO^)4f+wykA;LdJd6=^ZKaJ(qExn&+8XAMJEiYZZjLqq@*oooq@4sTEtc*qMcYfNS zK;e3_@wgozLTYQLy-b%!-w+;6kK#PYr>;ZdjWGRFf0{Vx7syCs6S5FT{E1{6d&z~mHrB8GAjXgFuCMX1*?fA({+Q!C^EE)#~ z2c#_lf@#vzjq~%1=>pE!=pF%`ugy_E1A1IFo@CM#zx{i9TU`jG$jRX3+0&^>Od~Y8+A4VQcc7=I~6QnI-O@~XNr|p+5(TSprLW-H=dpzMZjPl z@z(wlOd=aWe4X#UvW<;RTL5YV5zFq$Rx3SXXK%0L^b+b-(~C924ZPIiey5->0>_7r zBJpN;X386MA3ZG0r5fm?Tm9M6Bd@ii9GF+E}bs-yVh4ZWrwXo?Gh zRUSL$r>bvETF-$8e*{)hChC8Fn&p38bbERcXh+G0$(pOjZu zKL80Ag%?x2H6-a<}ag>heX+!?9s+$NN5ye*+f86E_sWjdg+* zX4u9i0N`Fq268((JBtIp%MWq3wyrblK${8PA-Y7w#>SS%>c#S;8pHwNN8f-B!YIce z!^=sA#>4s<8aPs)=n8uK_JphT)MaZ{RH#)kfobtoKqq=6ny)H+h=00LtE z$fZ|44~j889i1g{?hTe7Z&?@_88d}_zf4qpg|{AjE4FjTBMMyEU0@1Kv>y|~^u8^eW1@m7?8+*Ie5+PKqQyLx>C0n^Sh)w46E1Nd^uuzK% zfgKza^zAIcYVc1h&A~#-7v1GC;^(AKyFtW64$m(i$(B)d%Zz2s0}3r$UV?`J;%^gN zD@ZvYU!=Hb-+dt>1fL63Ul1zTtFNTf{2ah`f<1HN22^Cs{1>gY}Qb zjNbe_7hS=AA*LeM%dX3*`)BBXL0VH}&xpRj^7JO$z?C9gW)XCnmXM&&(kMFL5+O$s z1_7ChipurtC&%gfiv0ZZ_f-N;)2XScx9;5e)W)meIz2P9BE3?e`svdrDeun?NBy5Z zsjAYfz2kK`?+haZF`yNgAPAK7s!}dIurC9t+u8@;Sv6e>3~-vR*RNB(o`e|u^l5ac zY8u3Zsr>IX1;MwlvQsnU9)M_zdejf_p$%KC1d#H5XcyO7r{I<>>YqwAHO1fE5O&|p z0IUIh1&fL^aT2^1E)yFYJr9qd1kK%xN-0_n zR0UTx=XX*X9Q@wI|IEtLERPj#2}MpC=yY878ns>w=h}m_qd<-1A4l9wOlY>4gBc4Q zA-zJNFS^4f=Xtohta!?^^rcP-=*JTRViAZU-9XeQbWhL+70G7Wlds*dURbD$2-3^S#7(tx?1l%C)UXW!T=DDj^gdN zDvr`<;@(d$ZPLr*M1+Qx*VJehYonPk{)SoI4y!RA2;$xV7SB6Fluh7%>i{cidV1RO zDj_v>)?@_-S?z;`b`U$~z`d9XkB$b=QY2GGv0B^EC*V0yKcJ#yw;wyeKB;q>aQU`xyMmCs%5YP&K)C_fBlLX>3yU}n z+L|?ESE_Ok3|>hM25ca-)VG#>Y=nukyL=%ONoms**%&R z_Z}Otd@UaNmRN*M+VrbVQlR#LX8_+8D`Y&w_Ma9|v=dj+)XfiumGrO%=)%hGKMyuX zo4q|eJV3tANj8$p*I3Y12UrSKO!Hjw!Lu}|S5AZKR~gTcv*$7gPlX0m5qU9;!sEFf8UK{6IUdq%p9X)+jW*j{`-e}{|9u&s(7A>_1j8a zlghAhlBVj1t}Z6q_wV0h{Lw7v==c(RIaMQ1t#%gQ1Ks8@sxOawFW@}8v9O?CZ8HGk z5zHb%hjF~3KA3OdZLh4Zu5NBdTS1$NkBxoV)HyLR(c8=R+k!ENazeI>-+c-GllFPP z4XOJRlaq&2b`A|`rfRvl?KgY>3@2g=`49f{FJxIW{qP)D{8!>v2H8n@4C3Q@QhxdfN zz_KSEb|6>-^2C89h01BX;M&Emd!C;P4N^Mbn5p^roWf4p*8IzF@tcj|cg2p;)D)@b zc7djg7dJjJ(R1YI=LZfexNIfH&BvLy-LH~x8r3=7L*hf>#~Z0Yq@i7M7n-&Oq^^P2 zpECAZdmXrhfPet#WINm2=vY`rHFnot%(VD=L+u{JD6l>9Cs~#J6c7x&A?IiEwjVf6 z%liP?0J0i@oCX{2*XiD81U|nWZ7pLUMU!JwM`|i*r(lHv2t$utUH^+Pl%<3PB8@xf z4o%Pwp(RV4suyW6ev~l|tbPxA&qEAibaeD?XbJts6dpqbDxundbVADSgH8`O?=c`# z9~5D@BngBolufhu0hZs-dzKP#U*3A|-3N0UQW}}N<S9E*#?o_MYJ)6UoI%f@+(YSSRtf+2z?Rs#NGL}%Z7%AE3dm`5~YLWm>O?wZ+ic( zsQs=~-uj)NKXGw!xxm?oh`0mNOWgbJc{Eydx+Ku-i9yDb2_sOd-35EOyqtTP9%_~o zpeAhHxR~w^;|nZz!Jh%!2k;!(_3Hq3O-c=Jq6i*_%`>fx@@P_(=h_3?YP|A=2CZEh z#8ars1=;{wdwctAQG>6r3J7x`#2v2_JAyB4^+SoO6U{yY_F(5n%DQUxthSPD5TWy@ zIGSk-u$*Ft=fA>bK{eW$nLQ2b?p6Q?x|1%IE2dJCJcoe=yt=~%0Q6Sa;ECuK;Gc#1 zbKTt=ymN_u4um}^y4;U#I>UB1XP;FHHL)$rC|Jf)3keCCLHqp~7#OI{nglG$X?5tO z;dy0+aIK`;@|6kiK$nf9UPKBPY=P5TYq( zXJ<)!@s_s+fn0Zn zSi#tK6e&tijC5e=iCiYeoTn0ZY^w60^mW1F=8Q>{$FssbX(8IzFdL}I&aU_)zI=QU z5fRZHtxP;kGXp-F!%SmMyf3?9?MG;{ZBZd1@-IX@!7}oP4g2KDg%!M1kSpnm8r;@2 zKr7lFPUExo+FzyJ!w-xtr*Q?FQ+6@ey=J~{*6Yqs;hRrx(ql+*=4MO>`L}}-{6$- zH}xM#x2pV&>{*juLt{W>!1`p}cE?#j{~e<-YV{MP6KR63iM)LIQB$!?DbUT%K`u`P zO4<@PEN64K>a{`5w>bl(X|>tL)%`4SZG2qMQX0fjkg);n#}*nXDp)Ve4BhVoJ1$Cv zp6@C)wl9cdnZl2NeK1uQT4|5O-$Af#@Y|0n>xVV@*8eAGTN0Nos4Buo4ZRNyb#ZNN zZGGJvd@&g2y@@hX-8mWk``=VEZasuajfshQnuvP*iSC4oVsuMA~?A<$tbDXj1u7HRa`M`UbB-V`O7XQcCL5h2)eS>_>?21XMBhHOrqer;r>?1x^*roRSEWb=kusmWIQ0C@+CyICd7ZSSN<3M zv*d&<1}Md#;anmy6V{^`4ZCS^CP)0%_e21DomC^a$`Sc&t$f5w}JsT=k&=*M0;`R|Ow z-|c&&ObnS;<4rJX-C>)-OS|^(NA|zaDpzO}%YNz5A)QtuZvST~&NhLhdnZZBQp^E$ zia#r&2)+lF8D?cNnX{fHKk_L&Vmw;Hs-GMYz6-a8p#=UwWd$ec`cm%o})|<|O zfeN5YzZ>kTN$CB@8{^q1{7ODUAn|>KD8oT2kHxIV;~}sSAQY9i&IqbUMQyFqP(k1A zttNmpR396Bj$FVcUxy&Y><}UL5~u)>CO}57(w$q{%=Kva`HA{AfWexDR)bofs#&Od z{Zs_xHkjt9R+vzJE^mOeIl|=$3k&n|Rzj5mj#Kbdj#736Q8@MmyFqpL)YMyrIJ#XH zAHiirQt$k8fR_D5nl~VObc9zV-g2wrb!;qNV6QztIf^u?;X5}|Q<|0qG#pCitmB0c zYAiHCbT8E`v9tFiCQzBbV-f1n71Ee}cbeVg(zrfKOjKGyNB6kH_PvZ8vRyDFGpKGq zX7>YMtjw^^NlZ*E%lBXc^k#hZo?h0iiK;6@huA2ns0*}{do~$27#O;3QS@xW*HHyi z14+@Biaadn&S2t|!xg*F`TpEq=-|5N(H?{WYTYf5?Rk)6QJX6vx8;Uw&_Ny5?E`+> zBZwc*+=;n<`x#Zi=EX~1{ZXBBl*ZaEKAw_^9l#}W6JfHw1)QR=3Au*ot;@~67lkl) z;}+jXfI35ptL~$|LcwpN*6QaAwNYbm4-%L@uAoV)ls4nPgXYer{W{22B={yQJ|&^o zPjrusEpdl&?iE^{&;``&W=Z;%N6T(@mZ42`SOsYLXmOA!x; zz)1$!535)PWE!O3e&3{ogoK^@wfLlq?|X+_c2L*@X&1oDKBX{wDF`M-e{oOAyc|^> zQ{kh}0v{PbU=b7!fe52KuBMImlS4j8u{;9Y2xYR&3$Uf#gzvoNkqMIYGCT*E+MgMw z%2L)TIYG4>2Lhvp>eS>Un5Exl3Gsz6b3Owas&k&BI_ic(j;0g}IF4|RgLoV=0}6oy zbkT}sAR(Xv@THBtWWJj&pyJLpP9`cUIx{_eez+7fI5|{6Bv$9V&LpPS1O6vhb+)pH zM}3AWHX3L7qm3`Hj=BNq5S*dqka|OX{rWx7&cQb<5J*6>?Mmi-{^0Du%l&6C7i%;8 zutobnKG8!_SqCHr2JAB6TbuPSP^<^aJWpQpd-3=QS#)7lJKVVY;Dl@)^BrBKf(;+3>e@@P0ck*M*1old9W?2g5f~Z!JhE-=M zKH&QiLkcvnf%6Z==fDBLMa`Dv{0g4tbyx2FDPT-Zb`Y7})#BafMH=!kdlS}K*`JYX z1C)h#b0A5-tq&SR=dUf1v>UXv7yYFnkhbcxxOFX)e>no)KzcefEfr~2Zd_ia%aIQC zxq_d&xgvsx!m8^W9upH25z!$A#MdPhVocB%j*gGb%LYWJnb_GkpgWAmt@NmkyK~Fi zl-&w^?FHx)Jl>uvJ2OZydG39A-w8V_#f6Z$58bN#8E}@FBdKTj!io7=#37DUa^xj68Mv~6_pYYM1p1wc~|o9hFF`vsY?=?+7tC4je@G`OI8CZwd0#J>dTFFSbd zt-Euc?y4L5amrdC#c4!N0#o7T%a?aR{euMeY@%y_YkZ0lFD+Ky(%dyNTE91jbvPX- z7cX91?S<%NBa{QQxc74pf#V=8d(mu=mw-?L)8(#bWq$za+u;|C2)}K?7=xq!&t;Mw z&r)>|&49+^_SB&X&1+-@kZ6>Wu7&usf=V-DQW4Ij3*Z$w9?AA>%yN3JTsKZ z2_jhi&1c_=%YqKZ17Nt(pXgPXqqZl4hSn{Ewu6At(m!&q(Go+BdF8tJvgEo8zt&G1 zuO(N6JRrIvb(@mytB1F@1tG}29M5Dm-(Ww)jlUVh zn>t(nke(^_Jp^PW#3Jg#J8y7u;!sE_J!zYSK=WO(o6fT$M+3k%c)^m`Ux_~Qmxz~_q=%H6d$71rk^3~ ztq-}AFZ9!G=}6+1!_x5_6sO@b6BE1@(!&$^(oUR8$fJXWDzia%#%~};Eb%IQo-(-J zq}30xG77OYGkbfsLeR{h7lbF?vvDOOx+>&|ci^sKz6fb*p6f(JK^GJ-oR+f%)gZ6{ zJBTdp&*BfzPMujh*H>1!T9VloF<6Lg8nFMB4UMb+ z4KO#4gVTm4)zICM{BwhxSpA?K!G$=wyUoDXCi0imH6Blk$pP~E7x$)8U; z*Fz@G!@@%wvet3uFCFJ#v#s!=0~?mM3&d!0jci3mDLk`Xv=e~v($%*CASD8E1R%>$ zy?XAadyRRu?+T(Q2G)2TAJ9MgK6#U8VB0T1?LKS}g!J<5L)T7|u%>f?^GLi=xQuLh z2r*9@H+u;Q3t!FIz?txukhrk>D7)D&752+PUnHs^gba&CwB$<#j5P2NkaMN#b%5yR zC&_+7N=gy4b`&2TbjR}m_kiZRHZjA}0>8i@MlfnJ-8y{nE;c|U6ipnTm_8{bkYZtB z!6gkYwnsgB_&xzZM|GXV7q?(%kF|?o&T06}Rby z=ZJ1GZuD6%xwwe+});Rh)5|3>1+2~88yqTgh zVpD8lXHepK7sv&Fy|4~q?xb6BW6B5)YGvIQfTR+<<>I$*uTO9z&3xR@cSvGTm#OC< zFt)NFFdhd0svc?@`jUa6;Zh;!PoT;Gy?r1pbWti9^2(rJlgG*X_=vO+AXz7`C5)9_ zazQlO&!QgNG%a`377c6c0KyyrA*A^r`J{NGG*k<(t^4u=2M34PH>_8dRwbo=!L=Z> zpoq-w9fRfa(1T!s7xL^BWMpBIfk0DwP_aHSz&Oh(u>rt=sBX)3)_9Aqn*3y-50C&j zHiU$bkdla)0UcoP>|At2;pvMFh&l?ptv+#B1xeol!czUlvwEvWqw|^WvtSD$?g)mP zzK6mE5R)sK}}j=dSL5pK1$`7-V9o*yR!rMtASO6_exq3=UFqk|Zq9oTejOeetN+`>2yms|jpBDA z`*auqueh7Zj@F-(0v|D_)o>Q(=bx-v!emAtu&^*!O5)_`_4T5?F!DB4@G+a`g}mjp zHGRNEiT5|$A>7o?c?1$6gvXKx8hVJjt~QbiYivOW^>U|_u?x&oRCIjT+lzTpiRI+- z^-~o7v(8SL5~JC6k(#vM$ZutJwt;jlvTaz7wDGH!&eKCwRv!@!K;XN?bf)C7jT*y2tlc@GHA32Y^K}J6^{WUuW<~7!! z*<(0N(?2dpVm$kjH6NT7IxTVtF#zsqJ^GRkWxXaA!6a(11+x&JT+yA zCb&xCvp*nDI{N+@<@M{2K1ZerKVo&c9Lc!Eg2l=<*28GlK9ANq0ih(*OZRwpwvu9( z)wOpEMPhnBf5sK%ahu(ai6fJq1JvAqvJR=Lq3?$fB*WvOqEp6dg@{HSpwq*uF6xlx zX3<}~%!Nf|!4lW~e}Q*IC++r=YhwlpZAinl6oeeFN`4183;9Xz!bIYLBWSPR=US@ms3eno<&d@c@o9Ej z_oEA&0*6XCsM8uE2sZnWW_*8D1*m@@$0-1Lwi}!n-*37>s~v69uj)$|(0{E3>A~wf z=A954!Eal=HzP;lbp|Gk!!*Fh*Lx-x5iJRe{WC+OR?iCq}S-E7OPCRNgHry zkHFKaezdM*)dRWq`7;XzQqf@8#U@nvQt>?j=@8eVaqcKHrrHj0qVUq(&7eQ+tQN7u z6y;yOMVgaxoiBmSu(o9IOcQ8gA#5WTav|#TV+h%Yoqq!<%ZT6)+kqqoMY}U%s((jPObDN7X!dSc) zN2Oqk-?!>3PWBgUkmQh&4RtTsTl&zuW~3N59@aEKNDu(o(4&^SpqAr#9!@v@_#rrF zD!~sf8W{p8>@q%q7lb>Tpv^;FBK?fOL`ZR4!0_MiVzGu$Gfvqq9$C1{5S!?A;m3*C z9-iefO`mZG>1I~quB?d}z0R+r>QrRW6|?Ndvmy_}B|k#FN(5GY+U$1~$hRTS>_8~h zlfz)p3Za?59g>s5qb_&H({6ut;Fsg>+`|6H2R}FOp+q&h23)#4Gd+_uUjPjmxOfwc zIS8z*ef>K2($BXu9J)%E;cN9=v_YlQW<+ldK^%CAtTnlek6?WwpSn5o70Tx`R_o%C zlqnle-QwUwI^WD}8aZU1uM*RYK z64Kn-i{NVEcFEWNBdB=MyA6@0&4+Hh7pE}=jDV14ta%FfO(jjhLr*CvnOhgk$f4%q zM35M-fxfEj+3Tv2daJ$&&a;@mhj<35egQ<$=!PhVVH1|iH5l>m=7IoT4LBH96lQ~z z+|v4b1d-;8%jOmqe2^~%FPppOuSvv9>pAo)F{c_O|5In13QXVFcoa0Wf?5fn2#@Y& z^U~hF{T7lT5SWtOs&0n!8LM*cK%#XE(r?-mQ&Jk0o3_!(hIb2rWrg+`0WlWjTvHBy zdeHf+byJb4O^5ybSIaAzFCX^{m70q>MnDpMBuyp@4vD6>B9p8FvLyo@HwL3u_(!i( zs+y0~CA4!?b>gmtUz>G#u(T=tlvrv5rcXm?+2yYNKFO z<-<{$P>1k;Vb3@r4co9WpjO6UroeQKh>Rq%Jb>6N1ZH^r&wb*2caWAY@=ys9+u=ak zCk+B2KLCgoG!NsXB}1vE4&-|8Z?II}1c9)N`|qKG9Klfc|F<4Tu#=S8F9WiDc<7-b z6~M%kMw3JN4kEFGgBtl7MI%V5I1WQik3db2zbBuOg+&oh{qcu(DVa3dhVprFN3*u- zZXV=`AYOhiIEL1L3|e4qRh>K^n|zW~P6pO>s*RJ?U!C9+cY%jG{z_%6x7|+Nu-{YK zQPQjp1)5lB0@@{kA-289uTcVdOe$J zCvXJ#Iwd6>6hpyZF(qx2yZJ5%&V;em2K84 zFv5>(X9#{jI2a!s97?p>{*s>l?hAqma%8@SjfV%{k>1x?ZQHo67SM942a=EYpauWOFB;C<6pKthDUpp8DQ4|ynF#V|PA(>>RN3o>4=7?tI z=_wFIL#IUB5zNTS8VOA3C5+|5zu0EBVo5Ge}uKwZiPx}0G>J-wGQdF~FBy-V6n z9hmrJoygmGk@3>KbO)b)Z1`-Hte|S%FnW?1Y8(vbN$q4CjRRJ8SS4i=uM!i}A+S~_ z^Xh6XX^{dgvx?Lu=oh@7piWA4EYR7adV3?(wk!2zEKz>1yqjZx8~y|l8;v?nzM}H- zh-2t#K5u_3MBwG%Hplfak`TXOm6e%LHaDlcQU?DB0qjA)u3O2=vdr**dU~PV%l$Py zU1RlTUMjG&yYiZQJ3n2+&&P+iSD$>?^d|=#8v6g}>`vOF+uKtHE{$NlE%vod)r08_ zA>>3M5Gy&MWg{4u78j|+d|v4k18!#h3YlQ=0ds+ZK$00>?&$Eav#SfvQDY22#{faX z4(JGEs0VW8o12<;mwR&A!_vIUv^O6ff)yPlr3@m07;h3)p%%!KlA%2@>pkizP(W^_fVBPvvEVD3L2Fly+^JW=ky~eb9i8@95}= zk%563R}|Fn)^1x9lQ~G)vbFUA_=Bc2q`D5w5wzh5XslsjASply9z)|AoL+^L+4Laq zkzQVTc{yBkLqkI|e|_6)kXUwjkeu@erMRC6v|Rfs;0Hk5%T+CfL0QX$zyxsrMqxWV|mpqe41ms~|7gQ+2JTwlLDMK+NS3PPRuuXGr6V3PvLo`{ciaBOv%9?=2B zF;7+Q={Po^W+@jgQy_X2AX5-rfdCHS$Vb z8qezHLkv3BS((19M7A-3XB(yLC49wdaWuTr=nrxU;};2J?n{Jl@N!~kzgI2wnIcp_ z2x%wCV$NCQ%^!fHYBFhk`)9N$#7fTyNJ&GpK&h3{qW!wun^FeSYWpxeq#^_lh4B3R z92tOwxN;8Jk(RO>zaMz5V6a5l99d-)kc`H+QKp%kLN>!ix#!!N5qw9?V~;<-8jP2g8YKZES7BC~vT`+JTm&XDual ziD}#W9fD^7LJhF(I-8S+<=UUIqsF|YMd0Tw@in_Lnz4;12j0A`Co^HPYjp@shnbD< z;oVh$;ZYPfzfI@gvBPwjtlxq9D8P2Yi>S66xjLZ&;svO@;4r`$FtCtd8#y-TUYnVj zflUuEHUtZ`4D9igjF{LJh_-_L4tV8V2V@TrN9g+Htj#|1uK_wkh;n%!PAWm7gSA?I zbN+@)8mRSbcUVd0;5iUuaD3tr9)Y0!O3m!ulZ#OGRTUMUKWE(Gpsxlp*Ont9^M%WE znf1Jeise~fkv3&J9P2PAh(FOS!>$eH*nJ|Fv%&G@CeBR^u=$t5;Q1qie}!k+MU4`uXCD_dZ1ZmEGjgIKwNE8fo}$1 zu=K4DDBf5v81mhF(%~E;`uA)>|MMejkVw97Y=G{UFH-EilL;q`Ao`!ermOmMB{bpq z=N8wNZ7_;FURrai$Ih`??!hR`{fgAXG2cz@TAMz#RA$3os$fQNDDF`JOf;4WVYaR$ zDsTnn>cOE5>h=m8PmBo*YvcDbKZYQ6Y8UccgUe(!GQd#=Qn@l23a5e@@;nJK@%>Y6 z^oOv*!NX`n;CFOYE1NOoaXXU*M9K+yveM98;8BaClf6pJ9{QawrA@AGRU%Vc$Hu}! z6ApRI=*dgHj_j>JmLeEE{52?ZN~h<i?M_UK}j>yBt6E_Pk-pfQ%f9u<@@ zoc3ttE&}m7hjj#U^!kq=IX$34E@Y<#0<}6eHm5)Mm1*%bhA{A=GQu`kI5~yVYfcl)Rr{l_rVHNxWqY?@x$LsLq#KO}7eJc<43i^{+B235g2rF=DLUhfo(7Taj+r(jm8$D!b-JwGBLb`w>*7g*V+ap_d}@PzDv7uh^*%mAbebQwUp6C@Y)yD)P?W=z~&UtNQ@ zOKHPqDtA#vYMeGwpiyBvU!ag84N4|{ZUj>^He|!>9D-qfzs`Lb2AHq!uB58HNmXTv zi%rGLN{x-pQ&d*+arOU{cB!EtKRAC<%F3!p$MAl>y@lPZ%`c^dXXhg@c-_BG29KjI zi6WmFG~0XvhHn4vz`ZV0o;Ez;1FJ|@+Ik2bVKo{n1o6C!UJRto0gEv0;DRNBwciJx zOmau!rqXbC$6z0E%K$qE&vLd#acR|PAOFYJ@|V=KHvpOp7?f94bzJxiN<19=TK@jM z8Cn}a2RH~r*>|BDTTRi8iAfPV`8vY@Wah>Y(lb z7lA$YTgg3YdJtVL@!Tm$;q~2#8sgn8>G`GIeB{oULO$cJtr@Z26M z4RjN3A|24d_oKI6g4lP9AT)vKzhd9tjCzYW_J)79E2A?rXNQC0gb{d@JloMa9;k5*N?xv_GrAM}!U_tG z{THPC6;Hk2(3umtrS%WMb5|%IJ8pQTB2xlD6jxjfX}{0U(i@2_+4^{dsDT-YL<9mWE49TIerx!X^B<@z;*qnwF@}0+M%n zN8#v7(AhCOmP7W#wKF!iSLMIHp&{WkS_B3GbrZ@xu8ou3P;q{#*!h>akB;|kv53}Y zNT0d{z(XD28BlSu^WI9iitqd%KCDo1c5wWz^|}OqF4f-*TnJ3LFu0~?1yb%I8tL7!k$)Ymn5~eF%Y^HI z|Er4`U8P@AN)w}xzM1Wu&b94C%ZVlUsoRPRX{fs8gWM}OwS=-UR&XUFXIC48oM_E= z;S37v)(1H1nJLXb#%&WLC;;O>u`Is%ChDZ80_yse#(!GC2UPsDVTg1GA2`S#m4hWP zF36*4e770qATM_kW_NHBW3WJ|a70Doy9@5=P#RsuR*8?YmHBCci@%ZyRx0~6GaXVTKWrq4)^EU zq^d3k@<6;e9)tH-FTF>sb1ZDa|u0a8=gijJNW zMv`UnRGNff6lZ}NmXzYAhKOtW!n7ix|7xDbpuH|HGqXA0YLxVW*BLxef@Xjj9$#Q; zYHEjRs;Bsqh*eWvgCaOHa|Qxofs$a@@4xsyQB~*?iRI$7d<&tdy{fb(&`zW`pBp3A zPMrXewXP0LD*V8Qd=8k@*h{vDMJ289Y#q|it?*>9(I@8%@a&P!-tL6gp_OTOex5h9 z2Iz(fx=N%qMP@aP6PubO^ZiOIYo8q`ON*X%GYik&rHFkwydw2|=YnKoHpHdY|`w_x`eH@0tB+JM+x_%-lB& zF4nsK=XIRN@jGr`rQ^LE{!-}6TK76V7&sYJY|{MTPt%~{K8JJP@{B<-kuD|z=5^F9 zxz=tFHj!2YRJ!x;Y_Wuv;2sEe7jwrX%$0%XgT0P6w!-e4KM?L@wQpEc>?($GH@>%j z?ndzIzK6>%TqkXVl@j0E^y2y!Xb&n2%0#pD(BSU@FoID=pmg0iLpa;xh8N6ah)@4M zmeqCc`RMB2R2)$7K6+rr<46<$13gfj;6R6{%nJN=Q+4kx8XHn=n+Ocy_^7FL}Pnv$%auWyw_8%-dGZ`~`p-fnf@ zCo!aRQIFu0F8oZu()T;O$<~uU1jI;&?!qC_8%-f@wb^k210t-n6majuIm+U`3>P^V z{~+Ug0(YiyCUBc2zXa&u`=`4WE->%4`y8yrG&Y`~SWMS92Gg)Ilom6REOhSM{8Q7* z8F-GwGV@Qtq=~oe?YlE47JcMTae!z{t2q0UYyWK2?V0qa_DG*Spz;s>(41*MmV zW|Hbn3NQK)v%t~CuUBOdjtG#rBTj>qIZcyGqR-BsnCZ=mKIXdF$5#(vq_B>`qukfv z5KWjiHL;ICJDXU2LXnxi=MM7~J}W=fz&psQfvdgGKc0u58~=>*pm+-|a7B+pBV#2I zr|>|f@}ZdXyn((h`H=I@K`3)ykrXu^4G#(O4pl5HO%PgvLP2bmA3ogSNt+AI+b3IW z2n$QgC##*n=!3yVR@d{Vg-4T;zjDs9o!=u;3JMW$F|9L;>w{@mwi<_*wk~#$05}`9 za5;eV+8s!^Kt@d#c?-f|a2p0n%e5tSP=$;v&Vl3*4>O~baGn2{ESFB)Kg{7AV}d0nq=HO*~8T%w(;h3G-FyC+;F!P&Ecl!W*2eED7Waear&arwo_wl zY=Wt$W0A7?FazV^4rU00kKtcyNegRW+F;=KG+Y7eA++Wf%OtFI%XP|c2a~s zeyw{Lcb|RzP0*#U1#EBOmmf8An*q`VB>eq!1#JVJz}-k>kYdl`F?!3RO0CEboF6h8 z8X@m3$Mt9dDW7?t!`4L&RnUHslLgeQSe1Qz@s!oWkkl+tFX{!LKpxz7lW0W=M`-GV z#@qk?-N;*yPyl=8378mmzzPNu#(;gP<}1_JpM$H`o-X=sz*MimUjfTrA6`tVl=0>B zpCA=wHHP)0j%AB=Zry}o77=B_;J%8shd7a=RNF^W$C$@mbzQJ*XypA&M>e?7&bTU z78A3)m+a7Wg)VBy)zkIuo%8Dz(v^x#&BvSax)T!%6*LBKqL$gkMb7&F9Fnx(`6_XS zbyww`)xq=UU7kC#%_5+72CsLqOZH*oW7^I9@3USx)}SwiU!v_6zQ_SEW(^>^1!$iRKLr;9wHQ= zVZ10R#b%;V0dMQi0UMlWRr=*OYprrQGCY?@`v!VtNItT%{(FCpQZ0FSS|5zi92B%3 zuYfyT>yQ^+kntG74vMHe|3Npe9u!NQn-fj z8oVj4sNnW9goS&rq9YS|$%{cbwrLG4^}Jhaly8EO%b7G7U=0KHR=Fv7JG0Pkh24=0WxZ=N2Gr!tZUt8=eUtI6+2E@Awy6>+5;3 zM2?JE+1kDidy{0>!;^kcQdo90^_7k7&s()hN2 z*J(EW`)EJOx6nqDMeOdJ@$JJ;?Z!XL4S|C1y$Wu+i*BE>o@Un;wS^?h(?h7Ffi{_>$TXz=Af#Y`0w_2`uq8(W(RuTxAvz3bPtFbTI_OB}-B1h5pxy4~4# z6_8zoz3e!H7HRc;`*K-~QBY1mQ!Ws!8=0J|wXdL@TQ=H4NB;0Sb{ES(NP!(x=& zqZPUb^^W#^_k6;`GB=tSJ0VaR{DEN91BxdJZ%$$N>Qn%mm z6WM7&t(k{-mi|%aj`r3*F1gZtMue+H_}D|@;%V(gRX>ig%e+zbuG@!lHkQ*Bm8v59 zYBu$*xj9o6*YM97NfF0$+o9?jX~il5UlXJP7#0%LPCK}lKYqNJ^d=%C`s(YQx1+}* zPS|{Lx>#B7dG)epGwMkP>n0t`;T?hHw!FS!X{EHXa+8K%S%G&`wV3T58db2Fa^N*w z8dl3zT`gJ^KImP%jU%oy5?-QL!?6CHF^{*-kk;`u>GUs)z29ciLmH*t-Rm6$1{6&a zA4tymdf!S?Efl^=ZlDv)kis(#K?-D+lo$BUHj!PM#g)%GRWJbCrY_CR%2N}vI)@-58GEGT+R z@8ty+qm-YdqjoS4>CKx!x66eIKs^s+i|;*31Bi}uH+BYitO1G090T`57E^umQ+`3ji|M)A!nBOo<2#%e+N#+z<+nd(q*O)8$dX~ zy9cLi0)O@6)l{O@KYPf~tF`w?GQ{6&hgU6rJfT!Pdy`t8;@&O*^yo{-i4KDMOk%{B z%D>M4PTwiJ691N0>WAwVkUCC(PC6h>-oE8K{K3Y^8;$t!+y830s|T<)YTGP!31(l~ z6j9GyJxLtR_-M^vlT$yo75l`+Dw5>+XGtO=7CcRGZ=qNOFh|PshSu_EObl0}{W{sw zakP8B^K$ky*yH6`S&g~Fag=kpfY~+DG{5gXLt%LoFgPyPU){eDke>YYg1b;yReg%ea(QiVa&vKD znO$J7H&^OPzK;qg>j~y}ya$MAL80gIJc_KA$u^!aoxmXSz}6PF5NSHxi~jBdZT{`b zcA=rN2R}4+Gg^fZ`)u0C=BzqEYjA&p(W@d@;cg?qJjbd@OmL} zobd}Fyh+qyp`?Xv$Tcmb3FLx2Jcl7K1I)0upvv0V3}?EMvIo5Qo|KG+B6m*4C1^F% z?k#;~9F@K4uTFGX8D;z1X)sK`h3})LCGEQ(Y4_c(80^C$JjG1E8t)_Qjxe_*f;UU^ zl6GE>MPCti;$R0H2%k1NjC&Mq1PL|F@6D~h>A=Q08n9G$Ov)N>8RUDx9>vet|M7w& zh*MO*-SI0!g2a{YBe{-DDX9Z;!yg+@FFNGDUZCZD^Yh_Ah|5wTv{rxZ+4I|L&X4*> z)2;UPgpZY7z5U$y$Y_c>??Z2q`FhXOV8U{PK0n8tHQS;Z^+)nI0nZq&K|f?8DH;3A zeD%S`=Y=61UZCpCV!@IymVul4(6=(3Fp$%jcHq>;qiFZsaP#rGQ^+Vkfs{ds{TCpt=jR_; zjl*v&r-Q|5a&T>Dy&h{&^eQn{!;L_p|8kN&Hif9Z@vLbjCxBunoc#Mpg>mrT#55)$ z&S7D?ujDsL-qil@HoE5NNa6rCE6WfbgPJ_p#Rc_k*^I{XAt1 zT~x z_cCkoJzm0$&0NH3Qu{HIAO|qz`!2BQ2m8jxxc@X@ z7Xeq7VKDs+y)`|%2NdHJUlrRf2#==RhCm?4`g>(3@BvSB1m6qq_Bov~+YUN+^#w-U zT0|Oxg#}WT^{(@TU`d>v{a_hvK2>9V0ZJ|O3QUcUf>8^2jYL0*JP>3r!BYwY z4VGAMYLEQ0s6>_)p~P0VTVGy!Ju}ue`ETtpnEI$QdU0<9#ODn8u>5MRjzCSQn#4c!`ZZ39mkd z3CGX~2j1vOwqy`4 z9$LD0Es)lCTB}?&Lv^U01EQWGpA=XvrKX6AzJb>!{SZ(f%PTAKoeFn>LuJ}>%nu|z zFhf*n7yN^#Ab4KJG-w2EsQPBdRV4h617QClh`9)qV{lZqh5(^>0j9;TBM@b}aU&P( zVjzVyTFIP5M=Ps?Vow!tNI{YLb$RF`l1G$*{ae84sKXRD&v0LJb8U@wrcLoO5|)^d zE^rou^lr%wjBl`KWKWWSs8r$jhsSblMSG@=eLcmnhd=)P1?y{q5M$G)CQr)Gc^%sA z0Zk`MjPKkQA|Xm)O;H`7#-M?Wvj|Gos8m3i^%I_D-+Nr0zcV1Ly z1)m77`Cb{icTCpNQg}W--Sz&HwQF$|@Y7DX&_kk`VlXSfBzAdE+ej(v_{rtNhhOLC zC_fuv6O?8mnHep<(7! zsD^evUGBW}2!gd1WOsdbbKT*MM9c_zn%N=M1*jy@r&?zlc}@+TQ7zs=1FeKSM)Sc?zbPF89X zELpdb612`--H&EJ6TbT0`tO06RYgP1`YeNe?W}S9t^VkESvt>?oi?yin3$BD^~a`c zgBDHB`zu6BM@;J1QdR#@8`bYFFHG-=bnPKJdUGBgV`F?<>jKdMMWh@tSH!8sC#eqj1as2X z7|olSJ*YvmcDtxRPdN2{a#~RFxR26VcknE(@zvBriH1?u3vP8FTy+UL3HA2|14CgSF?Els|+8z>o#z2=R5iYKVz~MhDFp(ebM1G(rtk zV9f!92y7B223{*y!~5OF6?{&>Pkmos@A~EK0xWjg+S=kE%vYO2rBS(0T3Rb;mQi2D zwQ6K1(0G|~Bq^+u=J!y?BsPHW=baYjgbQwa2b6Dd$N~7}GjQ;w--f*G4m1n=1w%?N zxAM6~cF2X1Zxk{Y{4yg4YF@AQXN;j5QILH89klh<(*RZF1VXyc+- zx9AM4H5eo%H&|qc$gjW8#?M<}I8==5sG3%L!4G+U^BSw`inh=&VfpsH7`_F{5(H0x z_Mi)KaiW1`s8?Z=Q^kNPc7ApSSS(L?_kbCM`Y^KC2A@@nh1iO=UVX&S;t*etgEA*DoFH(thxIZu;x-MzWqiW@FqYd?WLiF+ zVWCbL5p#~g1bJ#t9lF|+J-(bmGA~6h-!qh+;J+M&xzXky7oSu8j~0N_(FO)MYr*u= zTMnPC0;nRe&)I*)e2akhT?AJ+TSDt~`|5Zg8;pt0BpF$QkhRuzk9a2jB+@BzhjB6W z{!N`N_z(a$IL`iPCKB;XGw_$nWJX=#x%SzFyD!^Fu4au^} z4pQb%R}yj$cr{=Ji*gTh0d)iT6p=(emw=>CCRS2Hq23Ju$iZo8%o~(|bSvxhNkbYU zI6&k|Pf?;6aT|MI+xXPy&+o|E8s*uO6c39p-HVVkW7(pa%>la3-tB~>c>c!$_Nx`t zT2Go~hODBTX+aKm%W=_6(Gq+D?|B2z26{k$mq=)5vf z*TD#lOyO51~|IQ2`EhGW{@PXC!Hk$}jh}Vfr-i9SB zERb1dNW_v75?-aHRa8~AnY!9Pe7IBf_@6m*wam%r;^JUe7bo7r)%+(sys0WPN^3r@ zLEsR_)jpHLCU_1nA8-?x%*n+Ql3|_#xGd~i@AYdn?c%u_PQW@16|`<5I@a5FXHFfp zaW^PU=wV2}E(c!=IOn8qhEon16#NNwGOV$Zu~*S=gc^URvl|<*Pj7PqkR@_1+BT|vr&yXrJCLyLv%gcPM=>?Pz0So{vqk@UW zv{EQnW-HC%etifZb!73_R%ZqL?>$_^mDctrMhdKTz-}(4Ta0Ip>e3@hz*o=DiF!-o zXYw3?a&EqNgcU3HNU!5Y7S#NKyGOwWdycAy;L*sQsqnxav4*%8+5Y4Bj%!O zv@a%ImuqVL)wOr~N0EiKYjm1+z4pg3|1OJaf7=IS6#C>x!Ql;Rr7k30!k86c+vZF1 z{0Tt~wbAZQXPwXkXOt0;k-}WVJ`SAex?JQ=grN_n1dq!12=`lrd=NcgS4p`(Sd_4* zNz8Ej;e`B}dt^?iqvUGYoC6PrW@jNLT~`Z&U-YxB~B69mEId{8-M zhu+Hp>38ZG+0UUDrVnkICNjdT`yec%Zm3xop`B%irszguK(>3m$nkU}|K-XnlrJEUw8{dq89=v^M`bLDy+5>dQ#dB$r5U0(G=2{8NT)G zn%vT6_%aM7!-bSOP-iFXH|CTwT1ZkPk(%}bi->_rvg^7IiMR`B()~BQO@{*PvmxgR zZndI~)gM0q|EI?EDn+Z{XBZ}y;`Ewao#a?M34fSd#>>t<`UXBT{UM6=zj_|c;4Rp+ zu<;o>#ofQzDhGa(vQVUF*^=WGSDTq=tuxbmX?-Z^wDVFH(2m!{?#m`Y78yl405;;C zbBFK;-?Jl555_PpYbhidJpOwwX&EV_=&2>zO{-=!Tv6WQl^I|HP!FL18!>^X;B>2R zNy7kN_P%LU1~P(#U*5boyjEeM-kQDH__^)Bp%de43j!tIsKt`PHp%UqxuME|m$@iw3x*Tl4EQ!)k&8plI<`Tzv+GybLT z)~ukVrRCo#lrc>-X(m13xsh6H{Dh+nfeg*t7KMOEQ_^htT{nz7_UoztZ8x>F;1zC# z0{XlpDTC{;2!XrPGZ>@zi3&wtsTu&Pnk%om-8%CjQ}fejc>P^qY{jC_nDbUG-- z@LQFHICfK)k+q!*%urPBV7L^f5%=rIR|Bf6T=A$_=u4XG3=RFis!(bw=s+mE~%fSI(Lb)b(|_{plOHhQu(M0?gWV`q{R zK7bIQ#dZ^5O+x(o#J>0fINt)VUKBP3w;?nZPr0+3BPJSBrk&;;;U8P`jpr%2n7~=wF<4BOx1Jvn$}|OAmw=@VmRaw~1EQ2?Ag@g_wDTM3FOrqE&lW zM7qo!DM1ySDn>{l?L2fk7ys`#x)uvHv`=7Zq~HrHSO-%d(k`j)kQK z_m>`xq4!kjisxvqp#VkCcP|q5I!fm<_yzj|V>BA#19T4-XlGq_rG%c0_!%vTmOshVUet?z5Z~p?z}v@=1_0lvbr59Hb*`uD zl^j9vVM|5&+RQV;)YcDSkDKdDAR4ea4WyxK@2a~($50I?+}KIlE4mbnt$)GVnXebF z`|P^6ooE@kifOqkJ-M7?wKZt)u5A+q`dqDaIE3N}*`+Pvf92c=PXQQftT}rj5LO1k{TZ4Xb#L`ffy>2Hw_dS+h6`zkQyCZa{#Vpw5^l z$-`8Ym>?eZOKgF54Sq1DN57<#N3znFK(!2MhCx_m&GVxmV~V)(Hc%z@y= zh{n+VJ%+F5tJz$f&d<^zRk#%bIcuHf0~UT9Faev0D&5Spfd|lNCF}1S2Np?d zSxRCiiR(ks)Pxmg=bK3!M4FUacK01Z;An(`K=rOoNnc#+Q$8AyFz zFQog5#=aWvm29|_ez%Q%0Tv)2^7hMjlB=0a@G9n`MamXG#i0KCgCp=z!$wyZhAFtJ zCDxSyo(9Ii3m7ML-Dv)706GMzUB-(-+|*A=v7lu*K|-ud|9Q-)5X@6kd|U$i-Yw$zHuvIi)QoRveEv;5?ZFrzKXkj=e?-f9ET4z1AFTw zB}8$kBmz94idwtgq|B$tD=N~IOLBhKvs(Z9r?l!w7YrrEGma@6yfm#p8gt`so5IO8 zzL?x!V^>+TyhN6xIov_kmrbld&SOkGFLdDW%o4+t=cnH-#TNn4b++10i|TugmyS)M>=18*6EQ&&Wc>#4-WXlTly!8RWe$}Gq zvFLI2%Q@ol3ZD_QRfMm;i982uFI)7dus1fZe>^^tcZawqMD0<~eYJi?F7v2xZ7 zFNZbGCjrn6%$>d&J*Q)Dbxl~KWE?NbsJ;@fTOn^4zFF%Iy%LU5siq<<$}QvJt@}*| zD9ZoJ52G-!>P$`Bp&o?~W@P0{kKB`@>m#DoBOw!COZR^%+Kqt+`hWhUWdC=&5#-D5 zO8*<03;!zne*v`e@()neC;t!sc?p;4^Z(HT{$GBnPGV*m+hQ5GHo^}7EE>DGR5BG- zG67zpXgpdJcNeG^i^~B%KW*ggB0pKXYuFaC)%QjtQD9%4V=_|G!wE$>AD>e#Q~1gH zvgDW8Sy|;98xOfq&_*EBa1udT4>%K^d%Od73e51=1|sr^GB*J0#EMy*)*1AJ3X zkLzS<;Ca-@7Q)b=S1&CtD)Xq`hVmCT}(Ih6ZXBVac9{m|~e+u)U z_#2OwrJ?^YJ+2_-2vj2gvyjJG+klXHe0FIiSF+j&tZh|NjXjn)9?!kowXv|j-E`YiSs{8Zs zNE^T2b1K$s3?e1apt4L~B^rJO9aTpTE?%XdWVoSk467avPcAUK_(OMMEEJ~PT6+(- zvMJ{0hbhe zn<*)E8Cy@zws&c1X=FshQEmy?sT7>L=u&UtX<1OZdEBoX`BC+11G>GyAPIBUO%v+7 zw_~4lU!@(ApSnqpQ_iuoi-+Ts_t=Ov1xFv(q3FzsdrCF}uLm&4++{|nZ#(IOvYSE= z?^ZE;Ba}{z{d7!HR&3~%gyhN50k=RJe#YNC?UcP*Z!oi6Gdp!_{(ZZj{l5nxH_x}8GovmS>v-nbN z*>7`t|5P6S4)#uR)dZ;+0q&)OdYz1tmv^8`RK6kX$48i6FMuUnh!yIt7=8y@oyO1W z^WTT7h8ANkFl-IL(4Usg^J8=SJ!DqJz{RaQ2PCw@3U44@;%oc+`NaxLK;t(2f{vQ) zU~Mb2`WoQy&y(CA6|0r;qSOiN6b*hd;kDbd6mN)s5uN!!#ukWoB)BAqhn3pIZ4^8_ zHzQwwV;~F@^Vl%`2L1*U&5WAA;Eg)qSkz%9cQ1=Z9-|dfud&Qd{s{_k6tQB$Z3%#o z?RX(J0fB;7sA0JBd$?-bRN^_$yowRgg4-pD0ZVAt9g4`Jy$0ZlCUxr;DH0SAWPmk2 zEYaA`j#VTo_C z)*uIQz^TmG8#s$j`x$^C;lsNp6>b{;!g;P5 zA&dnvRid_RWF-}cK11OqbV8z&B5UC+$|6wx*Q~3F>W!mXq?9*-vm3oH8P$|J(Vc$+ zg=vxW8e*H6oS#5itWk%Qy#QBYY)G~vFSBCT9Whfi_?#Occ=a<-dOj=b&wXX7kJUszR-ZL<)~b_yw!;*x7`Jxk9#x!cSq|y>QWFQM=BC=|PHKsX7r-t+w^q zQGqEMKtvSHTG)Oy|KR47l7Yhgf*#eZw7E4`{~O>2nIrB&Vl7Qk zttj$qI%=hKQtVI1>!!^qpTm!#6G}|=odfZpl92#V>Jfyag*ExD%e)0`;WzbxMGH%j zqLTFvO3v`6 z4x$ouqr*(omK&RriIK)qGNH1^YEpr(5=_v2CQ}54On9(b?<%fhC1Bar!$=CpVw+3e zGHRY5*Lh>!A~Hvg+0x?U3;g4;L{F4aA2h6fCQ+Ju9?JN;)FV_=Y-Do6g?pDeI65k0 z#Inf=Gk7B5M!x?3cnH7S*;L=GjEzO>WzI48c^QU0Yx?7X|RS|m`3FuLGbnl?5clHs~>&VxxMe+gv z_WK;cU!!ybe)*@^FcUQt*0I9Hwj-sO0T-r{r6T$l>KumMgekX9ef zp0HHMINkha3kMDDrZ#gB`CJI~R_k-=EX)O7{IdM}$S#88Gk_X=WE+~>BkP+N+=oZ2 zm&c;tZ{GA9b?5@05_Nt%jSI&R6~C32^}%^V+H70~ zwX_i!zx65lXca5)cdzryjK~jPzXc{GbdokjBujGyh6HCJ#X2+1#()hmn4lJCi}p!z z2;a!VrFZ;Sr`GzjyLD1t{zxiX1`teMD(0{!Nevd2&vTM%*ta`egOINBd9 zLB7IFxW5+%L>XT~AK0eK2wc|MV&+YeOtm#kuN84CdE)<`VwbU&am_Y&edk6DJ%=*i zbgnRZ29j&4I4|f2+#ZbPR-JEgcV9b)ElaX?zRWGa^|A^f1*sNL@%>-)p>|$%$tFxz ziuo**q;oRvzM|B^&heIyg!%3=$mwEtkQgZ`DxRI5F24^C4=?^LPKjBdjZhZykyLB- zE~0MvN`NcaT&B+wh;xV6^dw^OvlyE!82Hq5yk5c$6&%yCFJpIejt21626ZfYC- zQ9unT^9LDz!ulKLx9d#D-U9oAgez&$aI6%b*;KU*>R%?iKf=5hd(G&CiDs*5^V!HN z2}(iYH|Qc!FY?pz#IUvGtFhX3-zohjR2uFEf=Ge%{nWYP@y7AM=(m)SVJ$2=E95N4wDHRv&rCo?EcUdI`-1_&H!*68Faom+7fBzW+Zu`#q9=^9q8~4Db zY!Aa~WwYm)M{)v1<@LepmtQ|Twqex6gT8T$a8JxB?Uc zRNtni&H%wHP(^p=7Cbg#8}o}VGBPMmrd8bH-sPsws*D#RZKV7x_| zam<6UIq8=#RUE$MCmn&n5Cq#?DsoVNBo(X1)ypl~nkCuZ0Qnj|1qvKkVuZT!@LVXA zM|kw1H`^hjpTj!6ORaID##-+0r4FfJY|y{c$LOMg}7S({|GzHdaPlD}Rtttgl^LX6yh6x|!MQgi+GnG<$ zhXg-IX3`DuJpir@{VT=dd&W45ztWqNJ~PbOof0rTki8cE7fwLAM`;Ig1raAeec$|? z;y_a5&Fv|WK=9ZnuNHTU-cMAqE0L+c^VYR`Jpaa*isfB$WW-x!pbn}U0^;N^8GB6> z?)D(|Y#fjwq9Tm~?$dd1q<1CU@ZX0|*!mF&Glta`yhJx-o3{acC?0un0yA_UdMsw- za?N`dv2O2op8*+BppA|2;~gXFB8=+`^H9Jc%f!!n8!g1vk)Kk-gfDBI;^19G9zuV= zuM05Kf>Xp~q(>jMqls7YF+xT6CRS|(yxIC~*S5{=UdfE2y#9`z`JeN@hy0@;z41oT0PZ@eMQcP5Gnd&D*9mv^H6v9#znepsjV!ejO)(h|x=!H4*7ua^by0DSnQ1 z`BSI`QBKai;JcdM^s?%$j^l{%JIMQ+4f(a! zcTM@haIp4wLB1OKK9sht=po>i4j{lb{IE^EpA}r;%tSn`kG|gsDts8RQYgvIKf+xX z_y!hBdll8~-DP(WzhM6SIy>8XzSB}$TD*Vb;lYGhZF2!@fe5pCpFBKzw2QSblSLtM za0B$$E#uBK4o5WWXY?A#qu*;?;f^}r4XA|W!thBC9Gw^$8GWs3>Pp5$C)*ZwLDeEA zvi3!nI(QKZL9HH%erKKNeKJ++Asr!f703DS!_v93Ng{c=uJ06lG2{bcVa_UIjxJWY z8}XK9@!5ovyyi!7HIq2#+IA7NVkDVUOSg7cJ+BY{W3|yc2dl>9IUgrx%!~qoZl-kl zrU&W+aWAgmufAymb`hF;P-X7F%H8i4_fJ6+Qj$10wRA|iN!)XKhC<^4K4#YL_INh~ z7?K3LI{?>J+zGP{o@Ao- zQk@}UES9#wjaN^{_`8?K)Z7^pMLEx1jL|&oOdM($rs#zGU=bC*8z`@X+S|@uqY_b4 zdJIgU(>p(##f3=P#On|>VcbMI#@fX4isW3z#PqQ!#iI%XA`hqrm0$lQEgDF!=UquSdpc@tA|-GGQVH~z*B(KDVz^= z({VZ(L=<{K;RL3}^%OsG+XHS=TX|E*{+@B?ZX{^=%~5Pc-wV}?f|%`eLUC}|YJ;yX zqp3drj}~wVz#|V{dsm|7k!En} z{Q#uZtSA&XYGu9S@m3Me7?bTjC4X~0a`WAz)J%)!SflSI>xS)RrU&BpF_$opE%g}! za4YpJFtVd9-h=$WVwNJ<5Am;kUe2V?;c*y=xkd%R;vzG#HIwg2|BriL1E`bx-dngMi~_n!}vX2Tc&F~9CJ2EY&!^p zQzN$5KoypNT+X5X{8@(+{wdYp_gZ-9(x5%R0E^fQ9wBq^r{4PUbaU)`<5E!0(TJ$y zPp18JUtHZBh^FOJ6ub}bLar&zUg#hoyc>H`REg@4n5`f8k)>kgr;L4&DJidF)!?i^ViM3x3Obb5b;_a01;n-;%C z+q4N#$UQ?`!|2i*zv6{vZ$a}8m{x|mILH7g3b&YhfcFJH4e?NZO@7BSgkFIxhJFq# z(tjRj2n0kJ65wKBz7q%$8+!7UT-91e35S=hcph$&s9Fyhy|?7b^3~l(T?wgk13gY_ zQpIa}2dtcJwBa4%=m>Z0& zhZ+kfIw3;gcx}scwm(*^xLO4S;TD-5mewj_{i=&2s??uTU+WEKAGGHvyYgAK$45~u zOqku9pc9@;H_R7ePHIWfX}m8c%eWp&uc*2E25L$dxqb;PibU>y9QN_`{h7NE+Zg!g zmw`+=hP9}SJ9;29OQaA%X(NPu@L!kiTm`TD+`!+dVC@UUjNNI@BibD7IKZjOt8#{c? zLy)($+l2zYGa!bj>d?VR5F29O#+~n=j>oHit}=Xax;kvTqP6MFxYBt*M&OOTWDk(`UGVXu-%sC3K-2RyR@3~= zrg1s|{c?EXQA2^H;UXIoyybnnbqaQu6F#mT!i25`cy@c6B5kkK_&D`wQ-*j=iMyEU z-_3O2$q_)8VA5q4duss2QTPFzUx_g%1fL!M3Lzu0zt$}JP{kFRfQb{Mg$0a_wH0*@ z1=e4DEdLV>2rFK0U02?)Vc{>S7{ws>4$bTrBtK=*ppZXeXX?}#wt3hZ;Nz4fkoDz* zifdxmoGx_0-egn7c1?N!=Cf|%qu#OLl!QFE4kA_!4gY+W*v+p2;V3Ax|a_i+*C3_>yPN%RV z*HnJMPcxFiozh)d<9#^MjkxUag9~jXul$1@13vSYf{w|pbq&T32Os)Y zV}fH@p51z7xfC8X2g@|sa|2O`LryV1A;NeXR3(~#Kn>VBfqqCU;(|1+r0Od(H#bjt zou3V6C#CfWWjTo7d2L{CW7rFMuZXKo!$$;q{vv!Z+;POzAcvCS#(Y5YPg5ZN!CrJO zoQ7EF=uFmKX0ji{NS^q%;?JM}=isG*dl8){%)yA=e-{(ZW0C=<0!Sn_>8Sy-0|E51 ze?i1(F~Mm(5t6HNCk6jqBv~jr)UEIEkty{#_!=NY*4tskq-b|I7fPG_+6lT9e83AA z%?cX)dWZtXy*d3lb^C`%#iA}}0)`t_Yn)Q2 zQc#an07OM0CaA*2CnRKmngUdbHcuGQ9l)aa5_zB-829z|D(vdRgBzM>sVNWw3oVZ8 zNMM62uXa_K5MBoQ4htas%FD`-_~ga=kEWnLGhVA$k|r-&nG&_ZigW=B{o_YP_vd@p zjF^JTA?pa(YShRBlGbT?j?BQVFyMH_hu^r$Z?lBsYj0lpz}8_4B4gkY}A1^`JkIO(%+))5JKwkqE5{!ikviof-s2dtUa zwYk)W0m2VBY%<&k)e_a!ZetY9+5*LxR_AMiA}HoU7sV38epCf?;gt0r7up3k!-$f+ zVh!MYA4q?}q^C>K0N4Cb0YKW|JElB_m|7Y6Pd}W@{t9#w9WE4Z^;W)f+TvVl#DBTk z!H*#r4hd1-=xBTuRaM!TnuZ3=FBMP>v&UtT92$+E8i5gkFt4@&8uzL;0_tq5Vd?la zxvI()l<84g4n!Da>yzh-FT5~uT-kxBO)f9bInbTD_?aAj!_*-=_~N&JYJ|V1fM0|d zH6XR9<#tuT*xk z7fcc{v?$nw;IyZN?sY^9(9C;?GsD7qDvlU3jh@qYTyyl|_Jhg+74g;>KOu7jNfcx92f5vfR zO_#-wD|m&%bw{{IdtiI{thxReyBaJeaUr7+ehI${Kr5tL{I5fKHXX^=33D4>9XiV}4M zwLuyrr=}g1F))B6ktC=D6@d{!au8H<7@|lLNj4HB)1q+#k1UZoT)WO3Jb+ zs{8agU)XzpYp=am32-V4NtfBFVT8M_FsewD1}C!6NpR|>r?(^zFE3g<0)%+-RjU1g z{#nQoBh;HBpDVvBv+HIg<)(8D75D;bFLs8b>aYdD5%W1gC=^&Hj#}3jjN666-Df6!i)khD6D5Z-bEeoK`q1Omi zaLBW6u7wA)LHYtYRpfQ&0BE5)3pk;ObSQc=9EW%}vWw7u)YjB22uD=V-=1fhyBlp^ zl;NqMncl7z3Z^pN<8qkjmX}lt8PISRRC(`fUFj;!&(BBv@|yrzcQOJ>?U^9?5bpcX zT=Q2ffQAejHhsaQxp;7$cMef)N2!FkAUBx>Tn7zg+kpgzFD>c;^SdQ-MaqMTwS&(8IVuJ#xQH2=DGQ7zX7 z>jX`IQAy&@>GvA`bqkb$Pd$f51*V{TjA)7*Sy~8=+No2kBwKQ6Za^NM8KaNwel?(B z*(fK_T~Mk_f2sPX>M&GBv_)1@xn6Bd_Hzmxy%JSiX>Q?Swe;ex0K{-ca;mcy?8fr${m zZq0H!OE3hdn3xpwP4!v7rvQ(!iQ`_qp~*RUAS=2(kl1)1N6qc*?InS(M)nS5S9TEI zyvo0J8TGSUP~xIuLul-}Z1ozH zDu}MLNR5w=uf8|@1Dxi0G(uWJ;TYi!(%eg%wr{PC>KeabZ#}!!G={%r`=@J!i0Uz+ z(v|!x2U=r4e`kpSACUk-e^nUDW(pu?w3koIA}#5wIh87Yg@bIdJsNM}{EK8`aM69( zn}b3ZwnV=67g0X5;^pn^TdUXJLAz@5C_aux1)!vDH%kBAwwM!zmq@n6V)iqymu&Px zy@`#zeIO^wF8dh_0_JBPF$q7J;r+wrO-zI6pO%?-c|RIM$S4Z+8${bUXuaZDy-W4W z><97%d`}uNIa+Lv*xY_{(6~zwg<|Wa%+yQye>vawSQjkwweO_w1#YoKzgF+h-}_Yn z2|5(GeNz(GZzp>}d_|LIIu?t4BNrFfZE^iw-8%}99VI1aVDpzOH&a!&xvd*xv{d7E ze7q&1ROq?dTc1E3_`**hk4Wwt@9MUnDS$6WRDuE@YxRhoczQQme-ijCAj+-hH&@*B z@IQ(O`-OmZD z$CBxiC;?Fh-IPIug!;`eWQmKt=D)^zF%gWbVFwI8tY#uJ%M}d4W^_$$Y-(caNR%J^ zT{qq4%r!X-ZFz*kBodUU^*@6O4I+MB(gW72Q8c$yD9nEe12W7Iji#Ze+6d97wc9xU z?z=DFadhd)k0#9Sb8m?D1c(d|KpE2^rhGn5tT@52dc<7RjXN@q4QVdPf{@B05gtm?Ff%}^{zdCu>t2@8{68^3U+4k2)`Hx6i z{~Pcn>AIOru?EquoZA`Hrwpxk79kw|6XMWBaGRJW5SgBXuo<1$Y{|o@&It_*17s4ZDA2H(e+Z0;Abk@uvn!zXHAAn)oRUkS`N8f4 z1qSw`R|(`D$>Vi;%{i|T?+|RO{O{Pe61OGnkgspe&xZsV>H=SA_i{X0tBx*vWJaR2<0dp-sQMh=(2o^xgR9TalG zM(5|_!@iV(qBXVq~a;iG}x^?T|Q7yAP z&@dUD_zgf<1Fy|-sEyYDtVm?x!8juXsXj{69}%X(2g&AsU98_m2f&1 zBUaRbbPDcme`Nt7Ft2y~c>VP6v9Ylk8O&!zLY5I5AQ0K+^piOUvT?YOV*nN(%1}|m z_cM()C!Un;uZ4+EyMMm}3>4-5-wW5`a+iHm!ac(Plq4r7H(a+W3c<0lYq9vQT@Yi< z2SsnfB^8;Rg4KBIXTRXamX>h)M9|9W>+8Y5+U}MP^bbsGG=UKR#o5Brax(EY-dRn~ z+}NT*+T23??kPXho4@dgm#^^?-x&2bUtG7&B;CJ%2K56K5^I-9CaGZwA%8`X}`Y*pI`WrQa*NA-d=;)}9!a&NHHSwtV*Zn(fp1U(gymn1!l&bo3?8bHo(3Tft{%+zv z{2CfGbF;n5I>d(yiidr|`uh4{Jp|uANJ+8x@N%@ohQE(8LJ{(~vV=dUCD?P|$G!!_ zgSa2A13rZn*vHIr>8fythEom>4hW;Oy8I8FgG`0vk9vA~=H})#r}+5zJmx-`qML&a zNHByENy{Bi==4$86~UTF%ge!nLJQehAB916Wh?mZW{-j)kI5`NVb)m9p{jkOaGUQnSNhWd`NDvM&|^SkHv5l4gJH~hR324kL*?wfK9^z|plVXA(Uu2e5VoaH_d zh<1DBfc?LJoS<`*-IQ;HGeYn0UZSNc# z!z|R+fH(S=*nw&E_>8TO1z3yL(=CbCul|CqGsE3vV)4TOF8NrM=y3shlIBHDAo6hZspbw-rV)0EdSHy+eY63(|%o@zZQZ#ny4nm4u9OUqY?@`B+!x4@? z)7&1L5j|igAFwn6sk z8%SMgKu{G}-D*%Wb%&E;y=PZW$FwG)D)P%hOZD1`7F&V}{+z_YgV)6Q3?H@Tl8Xxy zR|ya#)sk!IrwuHWhHvVa^{#G24uY3g)IEEgQQNyX5gL^e;^K#Jw^8Eu2hueR`btps z#mCPdcQ~X5Ze&SjpbeItN?Nr>$I_qHQ1Ql(Jo24i3?|p#w3Pq$!e|Q;Jmw$t^d`%we@|>rgK+9`tzewC(KD!^` z2)o{OO8C>ag>{(<_Ws7Bas4qAZ{p*_cAxoaf^f@Ep7dSg*8Yfo@N`#A9A{tvn+flF z<;s;M26YV$cY=bp;bPV6Z1XyM?if-vq$}FIdxq&Ddo53}Tjen4hUo1eJ2cpgg5gyO zZZc4h-UgY$#FI!oFTEpRgB21hp~VK)p|)`BGXP+F1{&%b8}mj=#haY5 z(J0*-?2t6YF}qS^D0{S$*bp0kH4@Sew|b=Usr<}!LC02yMjC6TT}QP97NEVl`u2Q9 zL$rQvazLwkkRiY$Xc;0Y`7;bTcK1nRxqHB?-AOUjg#S)901o`0IyWOpa@;uTOyPEfJX9 z*cz-rP3FEKZ94mbH*dN=>0Ia2chS#!-dQHm;5d`bY8{7JdJYcbs+@|5&ZGL<9-$%J zQ=BTH=-xy$VV)le&O02SCBF-nX^VEKGeY?QrNf=tFF?3dKt$|A; z#yT)eKIEReDdVfw?~Vf9xG5BYU2t$P5xB7Vb=ekaor7~FY*-t=1;`4npAymtA-%oB zTgkS?o30x<)E~#%QtA!2L#M@gltIRIqA20KKDfnpf2i?d*<_D57&eu|g4f)t!{|2X zzs+=rCu|kl{($GwR0Gv=oKjY-T)&&a-1H|iKwbhm&c2u0{e~!q2VOQkM@AUo`_Jzp(yRH$N z5B+r=GJfICA8uOpK9BUXXuVqNdiheN1Zsy9WDg2D9Q#DmO)!Ypva=gSLme{EEkGi~ z!M{{IiI9^3QR*cEf92s<+@{kt!3*nZz3m2SjeuR5L>l2+t&TMDgxQPagjV!^7J2+) zett5KHRzPbk8%k3RF>%-iIcyd#(HX>dPBmw9roK55+ zV%&|l7b#G6DOtn@wu~rQnou9R1ySW}2PfTmFr$}nFpQXB)X~hx1tEU+#kpipkwAb| z32g54Ye|o17>p$MZgD!Z%+xW(8Sh1-fdvyDRn|Ra^I>OG^gs`q)>NHK4h<+2X0^qk zF_&n?9(|)ruj$HXol*MOS>&sXjaoAduWy~+@hcwR6pCxtw1HLH*991OU^vF*zVV0TOY!OIJd zj<k)a?|`~dF}20j0J%_aq^rl#gn4uQ8g zFh+9|WjXvZ2p;>(+H{&g3D;>5mf<2pdx8*b{R8o(7B1X$8=~<-l)p z9oM-1Ii3RmGqlcukP!p5v=IP_Et7IyOopPEEEkcJ)%g`GR-lMW8Pxo;U0FK`3%N|> zd`E02sjSeJf*p@T3?01bRde#X!;_3u6+IO z(<(1wasGmtMs=)Hv#9Ley)d5_VG^uFi7*Z44#E+#8ShBS$RL+IE)sIPSQ;p{ZQC~A zG`WXrHDYbfo!-c%#H3yT9+{e&YMsj@xOZ-2Q|H4qm33W-I2b4+qDVJm<5nfp`za|Y zFp7BK?UIr@QRd>O@I#EH@us5d++akSBc%gaUJ#|_h{ojO-t7Zsf_Qnq{CYW?_c*&N z!OH8CE%WGenmPi0m|x-K;p|KSn{{k4TDO^JHYWz(g~;0OD`}U?Bh?oR=7d zV-_gXfqbIB53KIJI}xK zA~Sxm#A>l3A(J&!Y&^ZQ>AvS<^tv8Z^?C+tPCg*3)&%o;9MmW&L`5N*g! zgZ(Y029=p~xcJ!4lsp02*dI-^@UV5%Zn3yODF7t>3C69K;h zgsw~>Uqz4?yG6DYNibq>V97R#C!Kuu03FP;Qh<>FQF-Bodt|lPRi(Ol+Dk3$q=$ut zT8^1oj#8I;EKO$&4u;zkGBp>2D-b_Lrqn%XG;x#2f|Ccdlx7@$=OIdk(%d}Xym

z@Mrv0xr{X6v1lLd?HbY6a2#s@Pid4Xo?;mOCakP9Gdxs>v%M>FY?&i8#yurq{G)ZIskH`K#GW?Gpj&DQoU&s%9TLu4HmUZJM zk$-Z6_8*;H{&w^KSL}dCtnb;_SS%{}awr1irG)ER%*L@y{BHG%_-XuwO+!t4f8tN4 Gulx&8lcv%Y!!mm8scjY+c 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 literal 0 HcmV?d00001 diff --git a/loopx/chat_lark_api.py b/loopx/chat_lark_api.py index abb4ac1823..c32f13f3b1 100644 --- a/loopx/chat_lark_api.py +++ b/loopx/chat_lark_api.py @@ -3,7 +3,7 @@ import subprocess from collections.abc import Mapping from pathlib import Path -from typing import Any +from typing import TYPE_CHECKING, Any from urllib.parse import parse_qs, urlparse from .control_plane.runtime.runtime_projection_route import ( @@ -330,6 +330,11 @@ def session_matches( class LarkChatRequestMixin: + if TYPE_CHECKING: + # Host-provided response fields used by this mixin; no runtime override. + def _send_error(self, message: str, *, status: int = 400, + gate: dict[str, str] | None = None, error_code: str | None = None) -> None: ... + """Loopback HTTP handlers for Goal repository and Lark topic connections.""" server: Any @@ -457,6 +462,9 @@ def observation_runner(args: list[str], cwd: Path | None, timeout: float | None) except ValueError as exc: self._send_error(str(exc), status=400, error_code="invalid_lark_app") return + except RuntimeError as exc: + self._send_error(str(exc), status=502, error_code="lark_configuration_unavailable") + return self._send_json( { "ok": True, diff --git a/loopx/extensions/lark/goal_topic_connections.py b/loopx/extensions/lark/goal_topic_connections.py index df8c353b8a..9593343334 100644 --- a/loopx/extensions/lark/goal_topic_connections.py +++ b/loopx/extensions/lark/goal_topic_connections.py @@ -249,7 +249,7 @@ def list_lark_apps( result = call(runner, [cli_bin, "profile", "list"]) raw_profiles = _json_value(result) if result.get("returncode") != 0 or not isinstance(raw_profiles, list): - raise ValueError("Could not read local Lark profiles; retry the configuration read") + raise RuntimeError("Could not read local Lark profiles; retry the configuration read") apps: list[dict[str, Any]] = [] for raw in raw_profiles: if not isinstance(raw, Mapping): diff --git a/tests/extensions/test_lark_goal_topic_connections.py b/tests/extensions/test_lark_goal_topic_connections.py index 4a1445b360..8627d35c6a 100644 --- a/tests/extensions/test_lark_goal_topic_connections.py +++ b/tests/extensions/test_lark_goal_topic_connections.py @@ -197,7 +197,7 @@ def test_profile_catalog_never_verifies_or_infers_health() -> None: def test_profile_read_failure_is_not_an_empty_catalog(payload: Any, code: int) -> None: def runner(*_args: Any) -> dict[str, Any]: return {"returncode": code, "stdout": json.dumps(payload), "stderr": "private diagnostic"} - with pytest.raises(ValueError, match="Could not read local Lark profiles"): + with pytest.raises(RuntimeError, match="Could not read local Lark profiles"): list_lark_apps(runner=runner, verify=False) diff --git a/tests/test_chat_lark_api_contract.py b/tests/test_chat_lark_api_contract.py index bed3d22121..40b89598d4 100644 --- a/tests/test_chat_lark_api_contract.py +++ b/tests/test_chat_lark_api_contract.py @@ -137,6 +137,7 @@ def read(query): broken = True with pytest.raises(HTTPError) as error: read("?verify=false") + assert error.value.code == 502 assert "private" not in error.value.read().decode() broken = False slow = False From 94e9f036f3b1d209cd04133ad87f710947fd512c Mon Sep 17 00:00:00 2001 From: BigDataDZ <76271875+BigDataDZ@users.noreply.github.com> Date: Mon, 19 Oct 2026 21:13:09 +0800 Subject: [PATCH 6/9] fix(dsh): preserve frozen overrides across pnpm versions (#6861) Signed-off-by: BigDataDZ <76271875+BigDataDZ@users.noreply.github.com> --- .github/workflows/dsh-plugin.yml | 24 +++++++++++++++++++ packages/dsh-loopx-plugin/pnpm-workspace.yaml | 8 +++++++ 2 files changed, 32 insertions(+) diff --git a/.github/workflows/dsh-plugin.yml b/.github/workflows/dsh-plugin.yml index f78bddb0ea..e7af43ee47 100644 --- a/.github/workflows/dsh-plugin.yml +++ b/.github/workflows/dsh-plugin.yml @@ -22,6 +22,30 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: + frozen-configuration: + name: dsh-pnpm-frozen (${{ matrix.pnpm }}) + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + pnpm: ["9.15.9", "10.33.0", "12.10.1"] + defaults: + run: + working-directory: packages/dsh-loopx-plugin + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-node@v6 + with: + node-version: "24" + - uses: pnpm/action-setup@v4 + with: + version: ${{ matrix.pnpm }} + - name: Qualify the frozen override configuration without dependency scripts + run: pnpm install --frozen-lockfile --lockfile-only --ignore-scripts + - name: Keep the qualified dependency graph unchanged + run: git diff --exit-code -- pnpm-lock.yaml + distribution: name: dsh-plugin (${{ matrix.os }}) runs-on: ${{ matrix.os }} diff --git a/packages/dsh-loopx-plugin/pnpm-workspace.yaml b/packages/dsh-loopx-plugin/pnpm-workspace.yaml index bb4ce15f27..cf3a2d3d50 100644 --- a/packages/dsh-loopx-plugin/pnpm-workspace.yaml +++ b/packages/dsh-loopx-plugin/pnpm-workspace.yaml @@ -1,3 +1,11 @@ +packages: + - '.' + +# pnpm 9 reads the package.json projection; newer pnpm reads this one. +# The frozen-version matrix keeps both consistent with the existing lock. +overrides: + '@deepseek-ai/libreoffice-kit>fflate': 0.8.3 + allowBuilds: '@deepseek-ai/dsh-subprocess-local': false '@google/genai': false From f149d8e24953007e839e0bb0c35eab4bc1dde019 Mon Sep 17 00:00:00 2001 From: aihop <631479666@qq.com> Date: Mon, 19 Oct 2026 21:39:34 +0800 Subject: [PATCH 7/9] refactor(collaboration): converge Inbox reads and Turn context in TypeScript (#6860) * refactor(collaboration): converge Inbox reads and Turn context in TypeScript Signed-off-by: aihop <4408344+hhyykk@users.noreply.github.com> * fix(collaboration): keep Inbox IO failures on the caller contract Moving the Inbox read into the TypeScript transaction changed how a corrupted entries directory surfaces: the native owner reports ENOTDIR as a typed EffectRuntimeIOError, but the Python adapter only mapped EffectRuntimeRejected. The CLI therefore exited 1 with an empty stdout instead of the original `ok=false` JSON, and the existing pagination regression (test_unreadable_or_conflicting_entries_fail_without_read_receipts[directory]) failed with JSONDecodeError. Map EffectRuntimeIOError back to OSError at the same IO boundary, keeping the runtime diagnostic code (and therefore the retryable/permanent distinction) in the message. Callers and the CLI classify IO failures as OSError, so the structured failure and the untouched read receipts are preserved. Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --------- Signed-off-by: aihop <4408344+hhyykk@users.noreply.github.com> Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Co-authored-by: aihop <4408344+hhyykk@users.noreply.github.com> Co-authored-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../typescript-control-plane-migration-v0.md | 21 +- ...script-control-plane-migration-v0.zh-CN.md | 17 +- loopx/capabilities/manager_context/README.md | 14 + .../capabilities/manager_context/__init__.py | 24 +- loopx/control_plane/collaboration/inbox.py | 346 ++----------- .../control_plane/collaboration/inbox_read.py | 42 ++ .../control_plane/collaboration/inbox_read.ts | 466 ++++++++++++++++++ loopx/control_plane/collaboration/links.py | 23 +- loopx/control_plane/collaboration/peers.py | 251 ++-------- .../return_delivery_contract.json | 27 + .../collaboration/turn_context_observation.py | 114 +---- loopx/control_plane/effect_runtime.py | 1 + .../control_plane/effect_runtime_handlers.ts | 6 +- loopx/control_plane/effect_runtime_server.ts | 1 + pyproject.toml | 2 +- .../control_plane/test_inbox_read_recovery.py | 140 ++++++ .../inbox_read_transaction.test.ts | 222 +++++++++ tests/test_collaboration_goal_instance.py | 17 +- 18 files changed, 1087 insertions(+), 647 deletions(-) create mode 100644 loopx/control_plane/collaboration/inbox_read.py create mode 100644 loopx/control_plane/collaboration/inbox_read.ts create mode 100644 loopx/control_plane/collaboration/return_delivery_contract.json create mode 100644 tests/control_plane/test_inbox_read_recovery.py create mode 100644 tests/control_plane_ts/inbox_read_transaction.test.ts diff --git a/docs/architecture/rfcs/typescript-control-plane-migration-v0.md b/docs/architecture/rfcs/typescript-control-plane-migration-v0.md index e3b01a16a5..333b977a27 100644 --- a/docs/architecture/rfcs/typescript-control-plane-migration-v0.md +++ b/docs/architecture/rfcs/typescript-control-plane-migration-v0.md @@ -4,7 +4,7 @@ - Supersedes / closes: none - Proposed by: LoopX maintainers - Date: 2026-08-15 -- Last revised: 2026-10-16 +- Last revised: 2026-10-19 - Scope: an incremental, replacement-first migration of the LoopX control-plane core from Python to TypeScript without maintaining two semantic implementations @@ -17,6 +17,25 @@ ### Product conversations and asynchronous inbox +**Receiver Inbox read transaction (2026-10-19).** +`loopx/control_plane/collaboration/inbox_read.ts` now composes local source scans, pagination, +Goal-instance admission, receiver and peer-return read receipts, and unfinished +delegation context through the existing typed owners. Turn-start observation +uses a read-only request. Receiver reads without a pending Host provider commit +their local read receipts in that request. Actual Core Todo, workspace-input and +operation-ticket providers remain explicit Python IO; finalization reacquires +the Goal lifetime guard and rereads entries under the shared request fence. +Reading still grants neither adoption, consumption nor execution authority. +The old Python scan/composition loops and five fine-grained RPC registrations +are removed. The legacy Inbox read imports and tracking/presentation receipt +views retain thin native facades; their exit is migration of those remaining +Python consumers. Existing return-display file IO retains its Python adapter +and the shared persisted delivery vocabulary. Large pages reuse the shared +private snapshot transport. Normal runtime IPC, installed +HTTP caller parity and complete default-SQLite CLI performance remain separate +qualification gates. This source cutover does not certify R1–R3 or the complete +asynchronous collaboration lifecycle. + R1–R3 also consume the typed kernel through the App, not only CLI settlement. The [App/inbox integration plan](app-conversation-and-async-inbox-v0.md#ts-and-generic-async-inbox-migrate-with-the-user-path) orders caller fixes, characterization, one complete async lifecycle cutover, diff --git a/docs/architecture/rfcs/typescript-control-plane-migration-v0.zh-CN.md b/docs/architecture/rfcs/typescript-control-plane-migration-v0.zh-CN.md index eb238403b9..27abbd7992 100644 --- a/docs/architecture/rfcs/typescript-control-plane-migration-v0.zh-CN.md +++ b/docs/architecture/rfcs/typescript-control-plane-migration-v0.zh-CN.md @@ -4,7 +4,7 @@ - 替代 / 关闭:无 - Proposed by:LoopX maintainers - Date:2026-08-15 -- Last revised:2026-10-16 +- Last revised:2026-10-19 - Scope:LoopX 控制面核心从 Python 到 TypeScript 的增量、replacement-first 迁移;不长期维护两份语义实现 - Tracking issue:[#3225](https://github.com/loopx-project/loopx/issues/3225) @@ -17,6 +17,21 @@ ### 产品对话与通用异步 inbox +**接收方 Inbox 读取事务(2026-10-19)。** +`loopx/control_plane/collaboration/inbox_read.ts` 现在通过既有 typed owner 组合本地源扫描、分页、 +Goal-instance 准入、接收方及 peer-return 读取回执和未完成委派上下文。 +Turn-start 观察使用只读请求。没有待处理 Host provider 的接收读取,在同一个请求中 +提交本地读取回执。实际 Core Todo、工作区输入和操作票据 provider 仍是显式 Python IO; +finalize 重新取得 Goal lifetime guard,并在共享 request fence 内重读 entry。 +读取仍不授予 adoption、consumption 或执行权限。 +旧 Python 扫描与组合循环及五个细粒度 RPC 注册已删除。 +旧 Inbox 读取 import 和 tracking/presentation 回执视图保留薄 native facade; +这些层在剩余 Python 消费者迁移后退出。既有 return 展示文件 IO 保留 Python adapter, +复用同一份持久化 delivery 词汇。大页面复用共享私有 snapshot 传输。 +正常 runtime IPC、已安装 HTTP 调用者一致性、 +完整默认 SQLite CLI 性能仍是独立资格门。本次源码切换不证明 R1–R3 或完整异步协作 +生命周期已通过验收。 + R1–R3 的 TS 消费者包括 App 产品路径,不只 CLI 结算。 [App/inbox 融合设计](app-conversation-and-async-inbox-v0.md#ts-and-generic-async-inbox-migrate-with-the-user-path) 按调用者修复、行为刻画、完整异步生命周期切换、真实 adapter 恢复与旧代码删除推进。 diff --git a/loopx/capabilities/manager_context/README.md b/loopx/capabilities/manager_context/README.md index b621a77a66..dd5a359fd6 100644 --- a/loopx/capabilities/manager_context/README.md +++ b/loopx/capabilities/manager_context/README.md @@ -164,6 +164,20 @@ LoopX quota/heartbeat Turn-start path; arbitrary host Turns that do not invoke that path are outside this integration. Frontend/Lark conversations retain their existing request and return views; no new screen or setting is introduced. +The local Inbox read transaction now lives in +`loopx/control_plane/collaboration/inbox_read.ts`. It reuses the typed receipt, +Goal-instance, request-revision and agenda owners inside one runtime request. +The Turn hook remains read-only. CLI/MCP reads record the supplied requests and +peer-return read receipts; they do not adopt requests or consume peer results. +Python releases the initial Goal lifetime guard for provider enrichment. +Core Todo and workspace inputs retain their actual IO adapters and provider +fences. The Host reacquires the Goal guard before native finalization. +Operation-ticket observations retain their existing provider. Complete large +pages use the shared private snapshot transport. Existing return-display file +IO remains in its Python adapter. Existing storage addresses, source records and public +response shapes remain compatible. Normal runtime IPC, installed HTTP journeys +and complete CLI performance require separate qualification. + Read and record a decision through the installed CLI: ```sh diff --git a/loopx/capabilities/manager_context/__init__.py b/loopx/capabilities/manager_context/__init__.py index 04bd9ec2c7..218d437dd3 100644 --- a/loopx/capabilities/manager_context/__init__.py +++ b/loopx/capabilities/manager_context/__init__.py @@ -238,22 +238,20 @@ def turn_start_hook( def produce(): nonlocal snapshot try: - from ...control_plane.collaboration.turn_context_observation import read_delegation_turn_context + from ...control_plane.collaboration.inbox_read import read_inbox_transaction + from ...control_plane.collaboration.inbox import _pending_result - snapshot = read_delegation_turn_context(runtime_root, registry_path, goal_id, agent_id, - read_command=command) - agenda = snapshot["unfinished_delegations"] with collaboration_goal_scope( - registry_path, - goal_id=goal_id, - agents=(agent_id,), + registry_path, goal_id=goal_id, agents=(agent_id,), ) as goal_scope: - inbox = pending( - runtime_root, - goal_id, - agent_id, - scope=goal_scope, - ) + observed = read_inbox_transaction(runtime_root, { + "operation": "turn_start", "goal_id": goal_id, "agent_id": agent_id, + "read_command": command, + }, scope=goal_scope) + observed.update(goal_id=goal_id, agent_id=agent_id) + inbox = _pending_result(runtime_root, observed, goal_scope, None) + snapshot = observed["context"] + agenda = snapshot["unfinished_delegations"] count = ( max(len(inbox["items"]), agenda["incoming_count"]) + max(len(inbox.get("peer_returns", {}).get("items", [])), agenda["outgoing_count"]) diff --git a/loopx/control_plane/collaboration/inbox.py b/loopx/control_plane/collaboration/inbox.py index 47485b269e..3aa08c7368 100644 --- a/loopx/control_plane/collaboration/inbox.py +++ b/loopx/control_plane/collaboration/inbox.py @@ -15,7 +15,7 @@ from datetime import datetime, timezone from pathlib import Path from typing import TYPE_CHECKING, Any -from ...file_lock import exclusive_file_lock +from ...file_lock import exclusive_cross_runtime_file_lock from ..runtime.file_paths import windows_extended_path from ..content_digest import BARE_SHA256_PATTERN, ENVELOPED_SHA256_PATTERN from ..todos.contract import TODO_ID_PATTERN @@ -104,7 +104,7 @@ def _request_lock( if scope is not None and scope.exact else legacy_path ) - with exclusive_file_lock(lock): + with exclusive_cross_runtime_file_lock(lock): yield @@ -145,234 +145,50 @@ def plan_request_publication(request, *, entry, operation=None): raise ValueError(str(exc)) from exc -def _inbox_item(row: dict[str, Any], state: dict[str, Any]) -> dict[str, Any]: - """Present the existing typed receipt state without changing its lifecycle.""" - item = {**row, "inbox_state": state["kind"]} - item.pop("request_control", None) - if state.get("request_control_view") is not None: - view = state["request_control_view"] - item.update(original_brief=row["brief"], brief=view["brief"], request_control_view=view, - request_revision=view["revision"], request_revision_digest=view["revision_digest"]) - item["source_request"] = {"request_id": row["request_id"], "request_revision": view["revision"], - "request_digest": view["revision_digest"]} - item["recorded_decision"] = state["recorded_decision"] - if state["recorded_decision"] is not None: - item["receiver_decision_recorded"] = True - item["next_action"] = "Review this request's recorded decision and linked work before returning its actual result. A recorded adoption is not a completed task; preserve the current owner and do not reprioritize unrelated work." - if state["warnings"]: - item["warnings"] = state["warnings"] - item["next_action"] = "Receiver receipt readback is unavailable or conflicting; recover the original receipt before continuing this request. Do not repeat the decision, result or execution. Other requests can continue." - elif state["kind"] == "settled": - item["next_action"] = "Inspect the concluded request as historical source. Reading it does not reopen work, repeat its result or grant execution authority." - elif state.get("request_control_view") is not None: - item["next_action"] = state["request_control_view"]["receiver_instruction"] - return item def pending( - runtime_root: Path, - goal_id: str, - agent_id: str, - *, - cursor: str | None = None, - operation_cursor: str | None = None, - request_id: str | None = None, + runtime_root: Path, goal_id: str, agent_id: str, *, cursor: str | None = None, + operation_cursor: str | None = None, request_id: str | None = None, scope: CollaborationGoalScope | None = None, ) -> dict: - if request_id is not None: - if cursor is not None or operation_cursor is not None: - raise ValueError("an exact request read cannot use inbox cursors") - try: - row = _entry(runtime_root, goal_id, agent_id, request_id, scope=scope) - except FileNotFoundError as exc: - raise ValueError("context request not found for this Goal and Agent") from exc - if row.get("schema_version") != (EXACT_ENTRY_SCHEMA if scope is not None and scope.exact else ENTRY_SCHEMA): - raise ValueError("context inbox scope mismatch") - if scope is not None: - from .goal_instance_scope import decide_collaboration_lifecycle - - lifecycle = decide_collaboration_lifecycle(scope, operation="inbox_observe", record=row) - if lifecycle.get("kind") == "omit": - raise ValueError("context request is unavailable in this Goal lifetime") - state = _pending_receipt_states(runtime_root, [row])[0] - return {"ok": True, "request_id": request_id, "items": [_inbox_item(row, state)], - "has_more": False, "next_cursor": None, - "instruction": REQUEST_TRIAGE_INSTRUCTION + " This is an exact source read, including concluded requests; it does not reopen their work."} - cursor_scope = _hash( - ( - [ - "pending_requests_v1", - str(runtime_root.resolve()), - _target(goal_id, agent_id, scope), - ] - if scope is not None and scope.exact - else [ - "pending_requests_v1", - str(runtime_root.resolve()), - goal_id, - agent_id, - ] - ) - ) - after = "" - if cursor is not None: - if not isinstance(cursor, str) or not re.fullmatch( - r"1:[a-f0-9]{64}:[a-f0-9]{64}", cursor - ): - raise ValueError("invalid pending request cursor") - _, supplied_scope, after = cursor.split(":") - if supplied_scope != cursor_scope: - raise ValueError("pending request cursor scope mismatch") - folder = ( - _root(runtime_root) - / "entries" - / _hash(_target(goal_id, agent_id, scope)) - ) - try: - paths = sorted(folder.iterdir()) - except FileNotFoundError: - paths = [] - items, batch = [], [] - - def append_batch(): - classified = iter(_pending_receipt_states(runtime_root, batch)) - for row in batch: - if isinstance(row, Exception): - raise row - state = next(classified) - if state["kind"] == "settled": - continue - if scope is not None: - from .goal_instance_scope import decide_collaboration_lifecycle - - lifecycle = decide_collaboration_lifecycle( - scope, operation="inbox_observe", record=row, - ) - if lifecycle.get("kind") == "omit": - continue - items.append(_inbox_item(row, state)) - if len(items) == 21: - break - batch.clear() - - for path in paths: - if path.suffix != ".json" or not BARE_SHA256_PATTERN.fullmatch(path.stem): - continue # Ignore lock holder sidecars and other non-entry files. - if path.stem <= after: - continue - try: - batch.append(_pending_entry(path, goal_id, agent_id, scope)) - except (OSError, ValueError) as exc: - # Evaluate errors in scan order; batch lookahead cannot let a later - # page's damaged entry block an already complete current page. - batch.append(exc) - if len(batch) == 128: - append_batch() - if len(items) == 21: - break - if batch: - append_batch() - from .peers import returns - - peer_returns = returns(runtime_root, goal_id, agent_id, scope=scope) + from .inbox_read import read_inbox_transaction + + snapshot = read_inbox_transaction(runtime_root, { + "operation": "pending", "goal_id": goal_id, "agent_id": agent_id, + "cursor": cursor, "operation_cursor": operation_cursor, "request_id": request_id, + }, scope=scope) + snapshot.update(goal_id=goal_id, agent_id=agent_id) + return _pending_result(runtime_root, snapshot, scope, operation_cursor) + + +def _pending_result(root, snapshot, scope, operation_cursor): + result = snapshot["result"] + if "request_id" in result or snapshot.get("completed"): + return result from .operation_handoff import pending_operation_handoffs - operation_handoffs = pending_operation_handoffs( - runtime_root, - goal_id, - agent_id, - registry_path=scope.registry_path if scope is not None else None, - scope=scope, - cursor=operation_cursor, - cursor_scope=cursor_scope, + handoffs = pending_operation_handoffs( + root, snapshot["goal_id"], + snapshot["agent_id"], registry_path=scope.registry_path if scope else None, + scope=scope, cursor=operation_cursor, cursor_scope=snapshot["cursor_scope"], ) - return { - "ok": True, - **( - { - "operation_handoffs": operation_handoffs["items"], - "operation_handoff_pending_count": operation_handoffs["pending_count"], - "operation_handoff_overflow": operation_handoffs["overflow"], - "operation_handoff_next_cursor": operation_handoffs["next_cursor"], - } - if operation_handoffs["items"] or operation_cursor is not None - else {} - ), - **({"peer_returns": peer_returns} if peer_returns["items"] else {}), - "items": items[:20], - "has_more": len(items) > 20, - "next_cursor": ( - f"1:{cursor_scope}:{items[19]['request_id']}" - if len(items) > 20 - else None - ), - "instruction": ( - REQUEST_TRIAGE_INSTRUCTION - + " Follow next_cursor to read later pending requests. Restart without a cursor " - "to discover new requests before it. The end of a page sequence is not work completion." - ), - } + if handoffs["items"] or operation_cursor is not None: + result.update(operation_handoffs=handoffs["items"], + operation_handoff_pending_count=handoffs["pending_count"], + operation_handoff_overflow=handoffs["overflow"], + operation_handoff_next_cursor=handoffs["next_cursor"]) + return result -def _pending_entry(path, goal_id, agent_id, scope): - if not BARE_SHA256_PATTERN.fullmatch(path.stem): - raise ValueError("invalid context request filename") - item = _read(path) - if ( - item.get("schema_version") - != (EXACT_ENTRY_SCHEMA if scope is not None and scope.exact else ENTRY_SCHEMA) - or item.get("goal_id") != goal_id - or item.get("agent_id") != agent_id - or item.get("request_id") != path.stem - ): - raise ValueError("context inbox scope mismatch") - return item def _pending_receipt_states(runtime_root, rows): - """Observe private files, then batch the typed read model by wire bytes.""" - from ..effect_runtime import effect_runtime_result + from .inbox_read import read_inbox_transaction - root = _root(runtime_root) - observations, states, encoded_bytes = [], [], 0 - for row in rows: - if isinstance(row, Exception): - continue - request_id = row["request_id"] - observation = { - "request": {key: row[key] for key in ( - "request_id", "goal_id", "agent_id", "source_id", "goal_ref" - ) if key in row}, - "route_present": (root / "roundtrips" / (request_id + ".json")).exists(), - "decision": _observe_receipt(root / "decisions" / (request_id + ".json")), - "conclusion": _observe_receipt(root / "replies" / request_id / "conclusion.json"), - } - if "request_control" in row: - observation["request"] = row - observation["read"] = _observe_receipt(root / "reads" / (request_id + ".json")) - results = [] - for path in result_paths(root / "replies" / request_id): - try: - results.append(_result_observation(path.stem, _read(path))) - except (OSError, ValueError, TypeError): - results.append({"unavailable": True}) - observation["results"] = results - size = len(json.dumps(observation, separators=(",", ":")).encode()) - # The existing bridge serializes ASCII-escaped JSON and admits 2 MiB. - # Leave room for its envelope; legal Unicode replies must not turn - # a bounded page into another oversized history request. - if observations and encoded_bytes + size > 1_000_000: - states.extend(effect_runtime_result( - "collaboration.inbox.inspect_receipts", {"observations": observations} - )["items"]) - observations, encoded_bytes = [], 0 - observations.append(observation) - encoded_bytes += size - if observations: - states.extend(effect_runtime_result( - "collaboration.inbox.inspect_receipts", {"observations": observations} - )["items"]) - return states + return read_inbox_transaction(runtime_root, { + "operation": "receipt_states", "rows": rows, + })["items"] def controlled_request_readback(root: Path, row: dict[str, Any]) -> dict[str, Any] | None: @@ -493,63 +309,19 @@ def _entry(root: Path, goal_id: str, agent_id: str, request_id: str, *, return row -def record_read( - root: Path, - items: list[dict], - *, - scope: CollaborationGoalScope | None = None, -) -> None: - """CLI supplied these messages to the receiver; not proof of comprehension.""" - for row in items: - _entry( - root, - row["goal_id"], - row["agent_id"], - row["request_id"], - scope=scope, - ) - if scope is not None: - from .goal_instance_scope import decide_collaboration_lifecycle +def record_read(root: Path, items: list[dict], *, scope: CollaborationGoalScope | None = None) -> None: + """Record supplied source without certifying comprehension or adoption.""" + if not items: + return + from .inbox_read import read_inbox_transaction - decide_collaboration_lifecycle( - scope, - operation="read_record", - record=row, - ) - path = _root(root) / "reads" / (row["request_id"] + ".json") - with _request_lock( - root, - row["request_id"], - scope, - path.with_suffix(".lock"), - ): - stored = _entry(root, row["goal_id"], row["agent_id"], row["request_id"], scope=scope) - if "request_control" in stored: - from ..effect_runtime import effect_runtime_result - - decision, error = _receipt(root, "decisions", stored) - plan = effect_runtime_result("collaboration.request.record_read", { - "entry": stored, "actor_agent_id": row["agent_id"], "observed_at": _now(), - "revision": row.get("request_revision"), "revision_digest": row.get("request_revision_digest"), - "legacy_assessment": decision or None, "legacy_assessment_unavailable": bool(error)}) - if plan["changed"]: - entry_path = _root(root) / "entries" / _hash(_target(row["goal_id"], row["agent_id"], scope)) / (row["request_id"] + ".json") - _write(entry_path, plan["entry"]) - row["request_read_receipt"] = plan["readback"] - continue - if not path.exists(): - _write( - path, - { - k: row[k] - for k in ("request_id", "goal_id", "agent_id", "goal_ref") - if k in row - } - | { - "read_at": _now(), - "kind": "receiver_cli_read", - }, - ) + result = read_inbox_transaction(root, { + "operation": "record_read", "goal_id": items[0]["goal_id"], + "agent_id": items[0]["agent_id"], "items": items, "deliveries": [], + }, scope=scope) + for row, receipt in zip(items, result["read_receipts"], strict=True): + if receipt is not None: + row["request_read_receipt"] = receipt def _receipt(root: Path, lane: str, row: dict[str, Any]) -> tuple[dict[str, Any], str | None]: @@ -719,31 +491,11 @@ def iter_result_paths(folder: Path): yield from result_paths(request_folder) -DELIVERY_STATUSES = { - "admitted", - "queued", - "retry_pending", - "verification_required", - "delivered", - "superseded", - "explicit_unverified", -} -DELIVERY_ERRORS = { - "provider_delivery_unverified", - "provider_locator_unavailable", - "provider_verifier_unavailable", - "provider_verification_unavailable", - "provider_delivery_intent_conflict", - "provider_message_missing", - "provider_delivery_mismatch", - "return_authorization_unavailable", - "original_route_unavailable", - "initial_delivery_receipt_unavailable", - "original_route_or_return_delivery_unavailable", - "delivery_state_unreadable", - "return_transport_unavailable", - "manager_return_payload_conflict", -} +# Retained public re-exports share the native delivery contract. +_delivery_contract = json.loads(Path(__file__).with_name("return_delivery_contract.json").read_text(encoding="utf-8")) +DELIVERY_STATUSES = set(_delivery_contract["delivery_statuses"]) +DELIVERY_ERRORS = set(_delivery_contract["delivery_errors"]) + def reply_status(root, row): result = [] diff --git a/loopx/control_plane/collaboration/inbox_read.py b/loopx/control_plane/collaboration/inbox_read.py new file mode 100644 index 0000000000..0a712b58fd --- /dev/null +++ b/loopx/control_plane/collaboration/inbox_read.py @@ -0,0 +1,42 @@ +"""Transport for the native Inbox owner; callers retain their Goal lifetime fence.""" +from pathlib import Path + +from ..effect_runtime import ( + EffectRuntimeIOError, + EffectRuntimeRejected, + effect_runtime_result, +) + + +def read_inbox_transaction(root: Path, request: dict, *, scope=None) -> dict: + from .inbox import _now + + facts = { + "runtime_root": str(Path(root).resolve()), + "scope": { + "profile_id": scope.profile_id if scope is not None else None, + "caller_goal_ref": scope.caller_goal_ref if scope is not None else None, + "current_goal_ref": scope.current_goal_ref if scope is not None else None, + }, + "observed_at": _now(), + **request, + } + if request.get("operation") == "record_read": + facts["items"] = [{key: item[key] for key in ( + "goal_id", "agent_id", "goal_ref", "request_id", "request_revision", "request_revision_digest", + ) if key in item} for item in request["items"]] + # Full source pages may exceed the ordinary wire even when every record is legal. + snapshot = request["operation"] in {"pending", "turn_start", "receiver_read", "returns"} + snapshot = snapshot or len(request.get("rows", [])) > 1 + try: + result = effect_runtime_result("collaboration.inbox.read", facts, large_local_snapshot=snapshot) + except EffectRuntimeRejected as exc: + raise ValueError(str(exc)) from exc + except EffectRuntimeIOError as exc: + # The native owner reports filesystem failures as typed runtime errors. + # Callers and the CLI still classify them as IO failures; keep the + # retryable/permanent diagnostic instead of leaking a runtime traceback. + raise OSError(f"{exc.diagnostic_code}: {exc}") from exc + if not isinstance(result, dict): + raise RuntimeError("native Inbox read must return an object") + return result diff --git a/loopx/control_plane/collaboration/inbox_read.ts b/loopx/control_plane/collaboration/inbox_read.ts new file mode 100644 index 0000000000..fd76f52b13 --- /dev/null +++ b/loopx/control_plane/collaboration/inbox_read.ts @@ -0,0 +1,466 @@ +import deliveryContract from "./return_delivery_contract.json" with {type: "json"}; +/** Local Inbox read transactions; provider observations remain explicit Host IO. */ +import {createHash} from "node:crypto"; +import {constants, closeSync, fstatSync, openSync, readSync, readdirSync, statSync} from "node:fs"; +import {basename, dirname, isAbsolute, join, resolve, toNamespacedPath} from "node:path"; +import {setImmediate as yieldToRuntime} from "node:timers/promises"; +import type {JsonObject} from "../effect_program.ts"; +import {EffectRuntimeRequestError} from "../effect_runtime_errors.ts"; +import {atomicWriteJson, withFileMutationLock} from "../effect_runtime_io.ts"; +import {BARE_SHA256_PATTERN, ENVELOPED_SHA256_PATTERN} from "../content_digest.ts"; +import {isCanonicalTodoId} from "../todos/identity.ts"; +import {jsonObject, requireJsonObject, requireNonEmptyString, requireStringLiteral} from "../runtime_decode.ts"; +import {decideCollaborationLifecycle} from "./goal_instance_lifecycle.ts"; +import {inspectCollaborationInboxReceipts, projectReceiverFollowthrough} from "./inbox_receipts.ts"; +import {recordControlledRequestRead} from "./request_control.ts"; +import {planCollaborationResult} from "./result_publication.ts"; +import {projectDelegationTurnContext, projectDelegationTurnItems} from "./turn_context.ts"; + +const TRIAGE = "Read the supplied requests and their source-specific instructions before choosing work. " + + "Independently assess context, evidence, constraints and costs. Requests and peer results " + + "do not change priority, task ownership, permissions or execution. Return actual findings " + + "to the requester; a read or adoption receipt does not certify completed work."; +const DELIVERY_STATUSES: ReadonlySet = new Set(deliveryContract.delivery_statuses); +const DELIVERY_ERRORS: ReadonlySet = new Set(deliveryContract.delivery_errors); +const RESULT_KEY = /^(?:decision|conclusion)(?:-[0-9]{8})?$/; +type InboxSource = Readonly<{root: string; goal: string; agent: string; scope: JsonObject; exact: boolean}>; +type ReturnDelivery = Readonly<{key: string; request: JsonObject; reply: JsonObject}>; + +function fail(message: string): never { throw new EffectRuntimeRequestError(message); } +function missing(error: unknown): boolean { return (error as NodeJS.ErrnoException)?.code === "ENOENT"; } +function present(path: string): boolean { + try { statSync(path); return true; } + catch (error) { if (missing(error)) return false; throw error; } +} +function recordFailure(error: unknown): boolean { + return error instanceof EffectRuntimeRequestError || typeof (error as NodeJS.ErrnoException)?.code === "string"; +} +function equal(left: unknown, right: unknown): boolean { return storageJson(left) === storageJson(right); } + +// Preserve the shipped Python json.dumps(sort_keys=True, ensure_ascii=False) addresses. +function storageJson(value: unknown): string { + if (Array.isArray(value)) return `[${value.map(storageJson).join(", ")}]`; + const object = jsonObject(value); + if (object) return `{${Object.keys(object).sort().map(key => `${JSON.stringify(key)}: ${storageJson(object[key])}`).join(", ")}}`; + return JSON.stringify(value ?? null); +} +function digest(value: unknown): string { return createHash("sha256").update(storageJson(value)).digest("hex"); } +function requestId(value: unknown): string { + if (typeof value !== "string" || !BARE_SHA256_PATTERN.test(value)) fail("invalid context request id"); + return value; +} +function readRecord(path: string): JsonObject { + const fd = openSync(toNamespacedPath(path), constants.O_RDONLY | (constants.O_NONBLOCK ?? 0)); + try { + const stat = fstatSync(fd); + if (!stat.isFile()) fail("invalid manager context record"); + if (stat.size > 128_000) fail("manager context record too large"); + const buffer = Buffer.alloc(128_001); + let size = 0, count: number; + while (size < buffer.length && (count = readSync(fd, buffer, size, buffer.length - size, null)) > 0) size += count; + if (size > 128_000) fail("manager context record too large"); + const bytes = buffer.subarray(0, size); + let parsed: unknown; + try { + parsed = JSON.parse(new TextDecoder("utf-8", {fatal: true, ignoreBOM: true}).decode(bytes), (_key, value) => { + if (typeof value === "number" && !Number.isFinite(value)) throw new SyntaxError("non-finite record value"); + return value; + }); + } + catch (error) { + if (!(error instanceof SyntaxError || error instanceof TypeError)) throw error; + fail("invalid manager context record"); + } + return requireJsonObject(parsed, "manager context record"); + } finally { closeSync(fd); } +} +function names(folder: string): string[] { + try { return readdirSync(toNamespacedPath(folder)).sort(); } + catch (error) { if (missing(error)) return []; throw error; } +} +function target(source: InboxSource, agent = source.agent): JsonObject { + return source.exact ? {goal_ref: source.scope.caller_goal_ref, agent_id: agent} + : {goal_id: source.goal, agent_id: agent}; +} +function identity(source: InboxSource, agent = source.agent): JsonObject { + return {goal_id: source.goal, agent_id: agent, + ...(source.exact ? {goal_ref: source.scope.caller_goal_ref} : {})}; +} +function entryPath(source: InboxSource, id: string, agent = source.agent): string { + return join(source.root, "entries", digest(target(source, agent)), requestId(id) + ".json"); +} +function sourceRecord(row: JsonObject): JsonObject { + if (Object.hasOwn(row, "message") && typeof row.message !== "string" + || row.brief != null && !jsonObject(row.brief)) fail("invalid Inbox source content"); + return row; +} +function entry(source: InboxSource, id: string, agent = source.agent): JsonObject { + const row = readRecord(entryPath(source, id, agent)); + if (Object.entries({...identity(source, agent), request_id: id}).some(([key, value]) => !equal(row[key], value))) { + fail("context receipt scope mismatch"); + } + return sourceRecord(row); +} +function pendingEntry(source: InboxSource, path: string): JsonObject { + const id = basename(path, ".json"), row = readRecord(path); + if (row.schema_version !== (source.exact ? "loopx_manager_context_entry_v2" : "loopx_manager_context_entry_v1") + || row.goal_id !== source.goal || row.agent_id !== source.agent || row.request_id !== id) { + fail("context inbox scope mismatch"); + } + return sourceRecord(row); +} +function lifecycle(source: InboxSource, operation: string, row: JsonObject, route: JsonObject = {}): boolean { + const decision = decideCollaborationLifecycle({...source.scope, operation, + record_goal_ref: row.goal_ref ?? null, route_goal_ref: route.goal_ref ?? null, initial_delivery: null}); + if (decision.kind === "reject") fail(`collaboration lifecycle rejected: ${decision.code}`); + return decision.kind !== "omit"; +} +function observe(path: string): JsonObject { + try { return {state: "read", value: readRecord(path)}; } + catch (error) { + if (missing(error)) return {state: "absent"}; + if (!recordFailure(error)) throw error; + return {state: "unavailable"}; + } +} +function resultKeys(folder: string): string[] { + return names(folder).filter(name => name.endsWith(".json") && RESULT_KEY.test(name.slice(0, -5))) + .map(name => name.slice(0, -5)).sort((left, right) => { + const rank = (key: string) => key === "decision" ? 0 : key === "conclusion" ? 1 : 2; + return rank(left) - rank(right) || (left < right ? -1 : left > right ? 1 : 0); + }); +} +function resultObservation(key: string, reply: JsonObject): JsonObject { + const text = reply.text; + if (typeof text !== "string" || !text.trim()) fail("bounded reply text is required"); + // UTF-8 hashing must refuse unpaired surrogates rather than hash replacement bytes. + if (/[\uD800-\uDFFF]/u.test(text)) fail("invalid reply text encoding"); + return {key, value: Object.fromEntries(["request_id", "goal_id", "agent_id", "source_id", "goal_ref", "phase", + "decision", "result_key", "previous_result_key", "update_id", "attachments", "request_revision", + "request_revision_digest"].filter(field => Object.hasOwn(reply, field)).map(field => [field, reply[field]])), + text_chars: [...text].length, text_sha256: createHash("sha256").update(text).digest("hex")}; +} +function receiptState(root: string, row: JsonObject): JsonObject { + const id = requestId(row.request_id), folder = join(root, "replies", id); + const observation: JsonObject = {request: Object.fromEntries(["request_id", "goal_id", "agent_id", "source_id", "goal_ref"] + .filter(key => Object.hasOwn(row, key)).map(key => [key, row[key]])), + route_present: present(join(root, "roundtrips", id + ".json")), + decision: observe(join(root, "decisions", id + ".json")), conclusion: observe(join(folder, "conclusion.json"))}; + if (Object.hasOwn(row, "request_control")) { + observation.request = row; + observation.read = observe(join(root, "reads", id + ".json")); + observation.results = resultKeys(folder).map(key => { + try { return resultObservation(key, readRecord(join(folder, key + ".json"))); } + catch (error) { if (!recordFailure(error)) throw error; return {unavailable: true}; } + }); + } + return (inspectCollaborationInboxReceipts({observations: [observation]}).items as JsonObject[])[0]; +} +function inboxItem(row: JsonObject, state: JsonObject): JsonObject { + const item: JsonObject = {...row, inbox_state: state.kind}; + delete item.request_control; + const view = jsonObject(state.request_control_view); + if (view) Object.assign(item, {original_brief: row.brief, brief: view.brief, request_control_view: view, + request_revision: view.revision, request_revision_digest: view.revision_digest, + source_request: {request_id: row.request_id, request_revision: view.revision, request_digest: view.revision_digest}}); + item.recorded_decision = state.recorded_decision; + if (state.recorded_decision !== null) Object.assign(item, {receiver_decision_recorded: true, + next_action: "Review this request's recorded decision and linked work before returning its actual result. A recorded adoption is not a completed task; preserve the current owner and do not reprioritize unrelated work."}); + if ((state.warnings as unknown[]).length) Object.assign(item, {warnings: state.warnings, + next_action: "Receiver receipt readback is unavailable or conflicting; recover the original receipt before continuing this request. Do not repeat the decision, result or execution. Other requests can continue."}); + else if (state.kind === "settled") item.next_action = "Inspect the concluded request as historical source. Reading it does not reopen work, repeat its result or grant execution authority."; + else if (view) item.next_action = view.receiver_instruction; + return item; +} +async function pendingPage(source: InboxSource, params: JsonObject): Promise { + if (params.request_id != null) { + if (params.cursor != null || params.operation_cursor != null) fail("an exact request read cannot use inbox cursors"); + let row: JsonObject; + try { row = entry(source, requestId(params.request_id)); } + catch (error) { if (missing(error)) fail("context request not found for this Goal and Agent"); throw error; } + if (row.schema_version !== (source.exact ? "loopx_manager_context_entry_v2" : "loopx_manager_context_entry_v1")) fail("context inbox scope mismatch"); + if (!lifecycle(source, "inbox_observe", row)) fail("context request is unavailable in this Goal lifetime"); + return {ok: true, request_id: params.request_id, items: [inboxItem(row, receiptState(source.root, row))], + has_more: false, next_cursor: null, instruction: TRIAGE + " This is an exact source read, including concluded requests; it does not reopen their work."}; + } + const scope = digest(source.exact ? ["pending_requests_v1", params.runtime_root, target(source)] + : ["pending_requests_v1", params.runtime_root, source.goal, source.agent]); + let after = ""; + if (params.cursor != null) { + if (typeof params.cursor !== "string" || !/^1:[a-f0-9]{64}:[a-f0-9]{64}$/.test(params.cursor)) fail("invalid pending request cursor"); + const [, suppliedScope, suppliedAfter] = params.cursor.split(":"); + if (suppliedScope !== scope) fail("pending request cursor scope mismatch"); + after = suppliedAfter; + } + const folder = join(source.root, "entries", digest(target(source))), items: JsonObject[] = []; + for (const [index, name] of names(folder).entries()) { + if (index > 0 && index % 128 === 0) await yieldToRuntime(); + if (!name.endsWith(".json") || !BARE_SHA256_PATTERN.test(name.slice(0, -5)) || name.slice(0, -5) <= after) continue; + const row = pendingEntry(source, join(folder, name)), state = receiptState(source.root, row); + if (state.kind === "settled" || !lifecycle(source, "inbox_observe", row)) continue; + items.push(inboxItem(row, state)); + if (items.length === 21) break; + } + return {ok: true, items: items.slice(0, 20), has_more: items.length > 20, + next_cursor: items.length > 20 ? `1:${scope}:${items[19].request_id}` : null, _cursor_scope: scope, + instruction: TRIAGE + " Follow next_cursor to read later pending requests. Restart without a cursor " + + "to discover new requests before it. The end of a page sequence is not work completion."}; +} +function inspectResult(root: string, row: JsonObject, key: string, reply: JsonObject): JsonObject | null { + const folder = join(root, "replies", requestId(row.request_id)); + try { + const results = reply.update_id != null || reply.phase === "decision" ? resultKeys(folder).map(candidate => + resultObservation(candidate, readRecord(join(folder, candidate + ".json")))) : [resultObservation(key, reply)]; + const legacy = Object.hasOwn(row, "request_control") || Object.hasOwn(reply, "request_revision") + ? observe(join(root, "decisions", String(row.request_id) + ".json")) : {}; + const inspected = planCollaborationResult({request: row, phase: reply.phase, text: reply.text, + decision: reply.decision, update_id: reply.update_id, attachments: reply.attachments, + request_revision: reply.request_revision, legacy_assessment: legacy.value, results}); + return (reply.result_key ?? reply.phase) === key ? inspected : null; + } catch (error) { if (!recordFailure(error)) throw error; return null; } +} +function returnConsumed(root: string, key: string, row: JsonObject, reply: JsonObject, agent: unknown): boolean { + const path = join(root, "replies", requestId(row.request_id), key + ".consumed.json"); + if (!present(path)) return false; + const saved = readRecord(path), expected: JsonObject = {request_id: row.request_id, goal_id: row.goal_id, + agent_id: agent, ...(Object.hasOwn(reply, "result_key") ? {result_key: key} : {}), + ...(Object.hasOwn(row, "goal_ref") ? {goal_ref: row.goal_ref} : {})}; + if (Object.entries(expected).some(([field, value]) => !equal(saved[field], value))) fail("peer consumption receipt scope mismatch"); + return true; +} +async function collectReturns(source: InboxSource): Promise<{view: JsonObject; deliveries: ReturnDelivery[]}> { + const items: JsonObject[] = [], deliveries: ReturnDelivery[] = []; + const folder = join(source.root, "peer-operations", digest(target(source))); + for (const [index, name] of names(folder).entries()) { + if (index > 0 && index % 128 === 0) await yieldToRuntime(); + if (!name.endsWith(".json") || !BARE_SHA256_PATTERN.test(name.slice(0, -5))) continue; + const operation = readRecord(join(folder, name)); + if (operation.goal_id !== source.goal || operation.source_agent_id !== source.agent + || source.exact && !equal(operation.goal_ref, source.scope.caller_goal_ref)) fail("peer return scope mismatch"); + let row: JsonObject; + try { row = entry(source, requestId(operation.request_id), requireNonEmptyString(operation.agent_id, "peer Agent")); } + catch (error) { if (missing(error)) continue; throw error; } + if (row.source_agent_id !== source.agent || row.source_id !== operation.source_id) fail("peer return scope mismatch"); + const replies = join(source.root, "replies", String(row.request_id)); + for (const [resultIndex, key] of resultKeys(replies).entries()) { + if (resultIndex > 0 && resultIndex % 128 === 0) await yieldToRuntime(); + if (key === "decision") continue; + const reply = readRecord(join(replies, key + ".json")), inspected = inspectResult(source.root, row, key, reply); + if (["request_id", "goal_id", "agent_id", "source_id", "goal_ref"].some(field => Object.hasOwn(row, field) && !equal(reply[field], row[field])) + || reply.phase !== "conclusion" || !inspected) fail("peer reply identity conflict"); + const route = readRecord(join(source.root, "roundtrips", String(row.request_id) + ".json")); + if (!lifecycle(source, "peer_return_observe", row, route) + || returnConsumed(source.root, key, row, reply, source.agent)) continue; + items.push({request_id: row.request_id, ...(key !== "conclusion" ? {result_key: key} : {}), + agent_id: row.agent_id, parent_request_id: row.parent_request_id ?? null, + brief: inspected.request_brief ?? row.brief, + ...(Object.hasOwn(inspected, "request_revision") ? {request_revision: inspected.request_revision, + current_request_revision: inspected.current_request_revision} : {}), + text: reply.text, decision: reply.decision, created_at: reply.created_at}); + if (items.length > 20) break; + deliveries.push({key, request: Object.fromEntries(["request_id", "goal_id", "agent_id", "goal_ref"] + .filter(field => Object.hasOwn(row, field)).map(field => [field, row[field]])), + reply: Object.hasOwn(reply, "result_key") ? {result_key: reply.result_key} : {}}); + } + if (items.length > 20) break; + } + return {view: {items: items.slice(0, 20), has_more: items.length > 20}, deliveries}; +} +function replyStatuses(root: string, row: JsonObject): JsonObject[] { + const folder = join(root, "replies", requestId(row.request_id)); + return resultKeys(folder).map(key => { + const phase = key === "decision" || key.startsWith("decision-") ? "decision" : "conclusion"; + const identity = {phase, ...(key !== phase ? {result_key: key} : {})}; + let reply: JsonObject, state: JsonObject; + try { + reply = readRecord(join(folder, key + ".json")); + const path = join(folder, key + ".delivery.json"); + state = present(path) ? readRecord(path) : {}; + } catch (error) { + if (!recordFailure(error)) throw error; + return {...identity, status: "explicit_unverified", created_at: null, delivered_at: null, error: "delivery_state_unreadable"}; + } + let status = Object.hasOwn(state, "status") ? state.status : "queued", error = state.error ?? null; + if (jsonObject(status) || Array.isArray(status) || jsonObject(error) || Array.isArray(error)) { + fail("invalid return delivery state"); + } + if (typeof status !== "string" || !DELIVERY_STATUSES.has(status) + || error !== null && (typeof error !== "string" || !DELIVERY_ERRORS.has(error))) { + status = "explicit_unverified"; error = "delivery_state_unreadable"; + } + return {...identity, status, created_at: reply.created_at ?? null, + delivered_at: typeof state.delivered_at === "string" && [...state.delivered_at].length <= 80 ? state.delivered_at : null, + error, ...(state.verification === "reconciled_after_restart" ? {verification: state.verification} : {})}; + }); +} +function agendaResults(root: string, row: JsonObject): JsonObject[] { + const folder = join(root, "replies", requestId(row.request_id)); + const statuses = new Map(replyStatuses(root, row).map(status => [status.result_key ?? status.phase, status.status])); + return resultKeys(folder).flatMap(key => { + const reply = readRecord(join(folder, key + ".json")); + if (reply.phase !== "conclusion") return []; + if (!inspectResult(root, row, key, reply)) fail("delegation result identity unavailable"); + return [{result_key: key, request_revision: reply.request_revision ?? 1, status: statuses.get(key), + consumed: row.source_kind === "peer" && returnConsumed(root, key, row, reply, row.source_agent_id)}]; + }); +} +function linksReceipt(root: string, row: JsonObject): {value: JsonObject; unavailable: boolean} { + const observation = observe(join(root, "links", requestId(row.request_id) + ".json")); + if (observation.state === "absent") return {value: {}, unavailable: false}; + const value = jsonObject(observation.value); + const validRefs = (key: string, valid: (ref: string) => boolean) => Array.isArray(value?.[key]) && (value![key] as unknown[]).length <= 16 + && (value![key] as unknown[]).every(ref => typeof ref === "string" && valid(ref)); + const valid = value && ["goal_id", "agent_id", "request_id", "goal_ref"].every(field => !Object.hasOwn(row, field) || equal(value[field], row[field])) + && validRefs("todo_ids", isCanonicalTodoId) && validRefs("evidence_ids", ref => ENVELOPED_SHA256_PATTERN.test(ref)); + return {value: valid ? value : {}, unavailable: !valid}; +} +async function turnContext(source: InboxSource, params: JsonObject): Promise { + let complete = true, unavailable = 0; + const batches: JsonObject[] = [], observations: JsonObject[] = []; + const flush = () => { if (observations.length) batches.push(projectDelegationTurnItems({observations: observations.splice(0)})); }; + for (const direction of ["incoming", "outgoing"] as const) { + const folder = join(source.root, direction === "incoming" ? "entries" : "peer-operations", digest(target(source))); + const paths = names(folder).filter(name => name.endsWith(".json") && BARE_SHA256_PATTERN.test(name.slice(0, -5))); + complete &&= paths.length <= 2000; + for (const [index, name] of paths.slice(0, 2000).entries()) { + if (index > 0 && index % 128 === 0) await yieldToRuntime(); + let row: JsonObject; + try { + if (direction === "incoming") row = pendingEntry(source, join(folder, name)); + else { + const operation = readRecord(join(folder, name)); + if (operation.goal_id !== source.goal || operation.source_agent_id !== source.agent + || source.exact && !equal(operation.goal_ref, source.scope.caller_goal_ref)) fail("delegation operation scope mismatch"); + row = entry(source, requestId(operation.request_id), requireNonEmptyString(operation.agent_id, "peer Agent")); + if (row.source_agent_id !== source.agent || row.source_id !== operation.source_id) fail("delegation request scope mismatch"); + } + if (!lifecycle(source, "inbox_observe", row)) continue; + } catch (error) { if (!recordFailure(error)) throw error; unavailable++; continue; } + const state = receiptState(source.root, row), links = linksReceipt(source.root, row); + let results: JsonObject[] = [], evidenceUnavailable = links.unavailable; + try { results = agendaResults(source.root, row); } + catch (error) { if (!recordFailure(error)) throw error; evidenceUnavailable = true; } + const view = jsonObject(state.request_control_view); + const receipt: JsonObject = {kind: state.kind, recorded_decision: state.recorded_decision}; + if (view) receipt.request_control_view = {control_state: view.control_state, active_reservation: view.active_reservation, + revision: view.revision, revision_digest: view.revision_digest, brief: {purpose: (view.brief as JsonObject).purpose}}; + observations.push({direction, request: {...Object.fromEntries(["request_id", "agent_id", "source_kind", "source_agent_id", "goal_ref"] + .filter(key => Object.hasOwn(row, key)).map(key => [key, row[key]])), + purpose: (jsonObject(row.brief)?.purpose || [...(row.message as string ?? "")].slice(0, 2000).join(""))}, + receipt, todo_ids: links.value.todo_ids ?? [], evidence_unavailable: evidenceUnavailable, results}); + if (observations.length === 128) flush(); + } + } + flush(); + return projectDelegationTurnContext({batches, scan_complete: complete, unavailable_count: unavailable, + observed_at: params.observed_at, read_command: params.read_command}); +} +async function recordReads(source: InboxSource, params: JsonObject): Promise { + if (!Array.isArray(params.items) || params.items.length > 20 + || !Array.isArray(params.deliveries) || params.deliveries.length > 20) fail("bounded inbox read observations are required"); + const followthrough = params.work_observations == null ? [] + : projectReceiverFollowthrough({observations: params.work_observations}).items; + const receipts: (JsonObject | null)[] = []; + for (const raw of params.items) { + const row = requireJsonObject(raw, "supplied request"), id = requestId(row.request_id); + if (row.goal_id !== source.goal || row.agent_id !== source.agent) fail("context receipt scope mismatch"); + entry(source, id); + lifecycle(source, "read_record", row); + const readPath = join(source.root, "reads", id + ".json"); + const lock = source.exact ? join(source.root, "request-locks", id) : readPath.slice(0, -5) + ".lock"; + receipts.push(await withFileMutationLock(lock, async () => { + const stored = entry(source, id); + if (Object.hasOwn(stored, "request_control")) { + const observation = observe(join(source.root, "decisions", id + ".json")); + const plan = recordControlledRequestRead({entry: stored, actor_agent_id: row.agent_id, + observed_at: params.observed_at, revision: row.request_revision, revision_digest: row.request_revision_digest, + legacy_assessment: observation.value ?? null, legacy_assessment_unavailable: observation.state === "unavailable"}); + if (plan.changed) await atomicWriteJson(entryPath(source, id), plan.entry as JsonObject); + return plan.readback as JsonObject; + } + if (!present(readPath)) await atomicWriteJson(readPath, + {...Object.fromEntries(["request_id", "goal_id", "agent_id", "goal_ref"].filter(key => Object.hasOwn(row, key)).map(key => [key, row[key]])), + read_at: params.observed_at, kind: "receiver_cli_read"}); + return null; + })); + } + for (const raw of params.deliveries) { + const delivered = requireJsonObject(raw, "supplied peer result"), key = requireNonEmptyString(delivered.key, "result key"); + if (!RESULT_KEY.test(key)) fail("invalid peer result key"); + const row = requireJsonObject(delivered.request, "peer request"), reply = requireJsonObject(delivered.reply, "peer result"); + if (row.goal_id !== source.goal || Object.hasOwn(reply, "result_key") && reply.result_key !== key) fail("peer return scope mismatch"); + const path = join(source.root, "replies", requestId(row.request_id), key + ".delivery.json"); + const lock = source.exact ? join(source.root, "request-locks", String(row.request_id)) : join(dirname(path), key + ".lock"); + await withFileMutationLock(lock, async () => { + const stored = entry(source, String(row.request_id), requireNonEmptyString(row.agent_id, "peer Agent")); + if (stored.source_agent_id !== source.agent) fail("peer return scope mismatch"); + lifecycle(source, "read_record", stored); + if (!present(path)) await atomicWriteJson(path, {status: "delivered", + ...(Object.hasOwn(reply, "result_key") ? {result_key: key} : {}), delivered_at: params.observed_at, + kind: "requester_cli_read", ...(Object.hasOwn(stored, "goal_ref") ? {goal_ref: stored.goal_ref} : {})}); + }); + } + return {read_receipts: receipts, followthrough, + ...(params.include_context === true ? {context: await turnContext(source, params)} : {})}; +} + +function receiverWork(source: InboxSource, items: JsonObject[]): {observations: JsonObject[]; needsProvider: boolean} { + let needsProvider = false; + const observations = items.map(item => { + const links = linksReceipt(source.root, item), tids = (links.value.todo_ids ?? []) as unknown[]; + // The existing Host reader also resolves the workspace/alias for an empty input list. + needsProvider ||= tids.length > 0 || Object.hasOwn(item, "brief"); + return {kind: item.inbox_state, recorded_decision: item.recorded_decision, + linked_todos: [], evidence_refs: links.value.evidence_ids ?? [], evidence_unavailable: links.unavailable}; + }); + return {observations, needsProvider}; +} + +export async function readCollaborationInbox(params: JsonObject): Promise { + const runtime = requireNonEmptyString(params.runtime_root, "runtime root"); + if (!isAbsolute(runtime)) fail("inbox runtime root must be absolute"); + const root = toNamespacedPath(join(runtime, ".local", "manager-context")); + const operation = requireStringLiteral(params.operation, ["pending", "turn_context", "turn_start", "receiver_read", + "record_read", "returns", "receipt_states"], "inbox read operation"); + if (operation === "receipt_states") { + if (!Array.isArray(params.rows) || params.rows.length > 128) fail("bounded inbox requests are required"); + return {items: params.rows.map(row => receiptState(root, requireJsonObject(row, "inbox request")))}; + } + const scope = requireJsonObject(params.scope, "Goal scope"); + if (scope.profile_id !== null && scope.profile_id !== "source_session_v1") fail("unsupported collaboration profile"); + const source: InboxSource = {root, goal: requireNonEmptyString(params.goal_id, "Goal"), + agent: requireNonEmptyString(params.agent_id, "Agent"), scope, exact: scope.profile_id === "source_session_v1"}; + const observedAt = requireNonEmptyString(params.observed_at, "Inbox observation time"); + if ([...observedAt].length > 80) fail("Inbox observation time is too long"); + if (operation === "turn_context" || operation === "turn_start" || operation === "receiver_read" || params.include_context === true) { + requireNonEmptyString(params.read_command, "Inbox read command"); + } + if (operation === "record_read") return recordReads(source, params); + if (operation === "returns") { + const offered = await collectReturns(source); + if (params.mark_read === true) await recordReads(source, {...params, items: [], deliveries: offered.deliveries}); + return offered.view; + } + if (operation === "turn_context") return turnContext(source, params); + const page = await pendingPage(source, {...params, runtime_root: resolve(runtime)}); + const cursorScope = page._cursor_scope; + delete page._cursor_scope; + const returns = params.request_id == null ? await collectReturns(source) : {view: {items: []}, deliveries: []}; + if ((returns.view.items as unknown[]).length) page.peer_returns = returns.view; + if (operation === "turn_start") return {result: page, cursor_scope: cursorScope, context: await turnContext(source, params)}; + if (operation === "receiver_read") { + const work = receiverWork(source, page.items as JsonObject[]); + if (params.defer_recording !== true && !work.needsProvider) { + for (const [index, observation] of work.observations.entries()) { + if (observation.evidence_unavailable) { + const item = (page.items as JsonObject[])[index]; + item.warnings = [...(item.warnings as unknown[] ?? []), "links_unreadable_or_conflicting"]; + } + } + const final = await recordReads(source, {...params, items: page.items, deliveries: returns.deliveries, + work_observations: work.observations, include_context: params.request_id == null}); + return {result: page, cursor_scope: cursorScope, completed: true, ...final}; + } + } + return {result: page, cursor_scope: cursorScope, ...(operation === "receiver_read" ? {deliveries: returns.deliveries} : {})}; +} diff --git a/loopx/control_plane/collaboration/links.py b/loopx/control_plane/collaboration/links.py index 61e4346c23..d6b26e56b1 100644 --- a/loopx/control_plane/collaboration/links.py +++ b/loopx/control_plane/collaboration/links.py @@ -9,7 +9,6 @@ from ...control_plane.todos.list_readback import list_goal_todos from ..runtime.public_safety import public_safe_compact_text from ..todos.contract import TODO_ID_PATTERN -from ..effect_runtime import effect_runtime_result from ..content_digest import ENVELOPED_SHA256_PATTERN from .inbox import _entry, _now, _receipt, _request_lock, _root, _write from .goal_instance_scope import collaboration_goal_scope, decide_collaboration_lifecycle @@ -72,31 +71,19 @@ def read_linked_work(root, registry_path, item, todos_cache, *, include_core_det } -def receiver_followthrough(root, registry_path, items): - """Compose one bounded read model for CLI and scoped MCP receivers. - - Does not select work, create a Todo, infer links from prose or write a - decision on behalf of another Agent. The typed owner supplies advice. - """ +def receiver_work_observations(root, registry_path, items): + """Read the actual linked Core provider once per Goal instance.""" todos_cache, observations = {}, [] for item in items: work = read_linked_work(root, registry_path, item, todos_cache, include_core_details=True) observations.append({ - "kind": item["inbox_state"], - "recorded_decision": item["recorded_decision"], - "linked_todos": work["linked_todos"], - "evidence_refs": work["evidence_refs"], + "kind": item["inbox_state"], "recorded_decision": item["recorded_decision"], + "linked_todos": work["linked_todos"], "evidence_refs": work["evidence_refs"], "evidence_unavailable": work["evidence_unavailable"], }) if work["warnings"]: item.setdefault("warnings", []).extend(work["warnings"]) - if items: - views = effect_runtime_result( - "collaboration.inbox.receiver_followthrough", {"observations": observations} - )["items"] - for item, view in zip(items, views, strict=True): - item["receiver_followthrough"] = view - return items + return observations def link( diff --git a/loopx/control_plane/collaboration/peers.py b/loopx/control_plane/collaboration/peers.py index e891d5784d..14e3ce2742 100644 --- a/loopx/control_plane/collaboration/peers.py +++ b/loopx/control_plane/collaboration/peers.py @@ -234,150 +234,18 @@ def request( } -def _return_consumed(path, row, reply, *, agent_id): - """One readback identity for peer consumption and the per-Turn agenda.""" - consumed = path.with_name(path.stem + ".consumed.json") - if not consumed.exists(): - return False - value = _read(consumed) - expected = {"request_id": row["request_id"], "goal_id": row["goal_id"], - "agent_id": agent_id, - **({"result_key": path.stem} if "result_key" in reply else {}), - **({"goal_ref": row["goal_ref"]} if "goal_ref" in row else {})} - if any(value.get(key) != item for key, item in expected.items()): - raise ValueError("peer consumption receipt scope mismatch") - return True - - -def _collect_returns(root, goal_id, agent_id, *, scope=None): - items = [] - deliveries = [] - folder = ( - _root(root) - / "peer-operations" - / _hash(_target(goal_id, agent_id, scope)) - ) - for operation_path in sorted(folder.glob("*.json")): - if not BARE_SHA256_PATTERN.fullmatch(operation_path.stem): - continue # Lock holder sidecars are not peer operation records. - operation = _read(operation_path) - if ( - operation.get("goal_id") != goal_id - or operation.get("source_agent_id") != agent_id - or ( - scope is not None - and scope.exact - and operation.get("goal_ref") != scope.caller_goal_ref - ) - ): - raise ValueError("peer return scope mismatch") - try: - row = _entry( - root, - goal_id, - operation["agent_id"], - operation["request_id"], - scope=scope, - ) - except FileNotFoundError: - continue # A reserved send without an entry is repaired by its exact retry. - if row.get("source_agent_id") != agent_id or row.get( - "source_id" - ) != operation.get("source_id"): - raise ValueError("peer return scope mismatch") - from .inbox import result_paths, inspect_result_identity - - for path in result_paths(_root(root) / "replies" / row["request_id"]): - if path.stem == "decision": - continue - reply = _read(path) - inspected = inspect_result_identity(reply, row, path) - if ( - any( - reply.get(k) != row.get(k) - for k in ( - "request_id", - "goal_id", - "agent_id", - "source_id", - "goal_ref", - ) - if k in row - ) - or reply.get("phase") != "conclusion" - or inspected is None - ): - raise ValueError("peer reply identity conflict") - route = _read(_root(root) / "roundtrips" / (row["request_id"] + ".json")) - if scope is not None: - lifecycle = decide_collaboration_lifecycle( - scope, - operation="peer_return_observe", - record=row, - route=route, - ) - if lifecycle.get("kind") == "omit": - continue - if _return_consumed(path, row, reply, agent_id=agent_id): - continue - items.append( - { - "request_id": row["request_id"], - **({"result_key": path.stem} if path.stem != "conclusion" else {}), - "agent_id": row["agent_id"], - "parent_request_id": row.get("parent_request_id"), - "brief": inspected.get("request_brief", row["brief"]), - **({key: inspected[key] for key in ("request_revision", "current_request_revision")} if "request_revision" in inspected else {}), - "text": reply["text"], - "decision": reply["decision"], - "created_at": reply["created_at"], - } - ) - if len(items) > 20: - break - deliveries.append((path, row, reply)) - if len(items) > 20: - break - return {"items": items[:20], "has_more": len(items) > 20}, deliveries -def _record_return_reads(root, deliveries, *, scope=None): - for path, row, reply in deliveries: - state = path.with_name(path.stem + ".delivery.json") - with _request_lock( - root, - row["request_id"], - scope, - path.with_suffix(".lock"), - ): - if not state.exists(): - _write( - state, - { - "status": "delivered", - **({"result_key": path.stem} if "result_key" in reply else {}), - "delivered_at": _now(), - "kind": "requester_cli_read", - **( - {"goal_ref": row["goal_ref"]} - if "goal_ref" in row - else {} - ), - }, - ) + + def returns(root, goal_id, agent_id, *, mark_read=False, scope=None): - """Re-offer results until the requester explicitly acknowledges consumption.""" - result, deliveries = _collect_returns( - root, - goal_id, - agent_id, - scope=scope, - ) - if mark_read: - _record_return_reads(root, deliveries, scope=scope) - return result + from .inbox_read import read_inbox_transaction + + return read_inbox_transaction(root, { + "operation": "returns", "goal_id": goal_id, "agent_id": agent_id, "mark_read": mark_read, + }, scope=scope) def consume_return( @@ -617,77 +485,54 @@ def read_inbox( request_id=None, caller_goal_ref=None, ): - from .inbox import pending - from .inbox import record_read + from .inbox import _pending_result + from .inbox_read import read_inbox_transaction + from .turn_context_observation import delegation_read_command + from .links import receiver_work_observations + read_command = delegation_read_command(root, registry, goal_id, agent_id) with collaboration_goal_scope( - registry, - goal_id=goal_id, - agents=(agent_id,), - caller_goal_ref=caller_goal_ref, + registry, goal_id=goal_id, agents=(agent_id,), caller_goal_ref=caller_goal_ref, ) as goal_scope: - result = pending( - root, - goal_id, - agent_id, - cursor=cursor, - operation_cursor=operation_cursor, - request_id=request_id, - scope=goal_scope, - ) - if request_id is None: - peer_returns, return_deliveries = _collect_returns( - root, - goal_id, - agent_id, - scope=goal_scope, - ) - else: - peer_returns, return_deliveries = {"items": []}, [] - if peer_returns["items"]: - result["peer_returns"] = peer_returns - else: - result.pop("peer_returns", None) + snapshot = read_inbox_transaction(root, { + "operation": "receiver_read", "goal_id": goal_id, "agent_id": agent_id, + "cursor": cursor, "operation_cursor": operation_cursor, "request_id": request_id, + "read_command": read_command, + "defer_recording": operation_cursor is not None or (root / "chat" / "actions" / "actions.json").is_file(), + }, scope=goal_scope) + snapshot.update(goal_id=goal_id, agent_id=agent_id) + result = _pending_result(root, snapshot, goal_scope, operation_cursor) observed_goal = dict(goal_scope.goal) - observed_goal_ref = ( - dict(goal_scope.caller_goal_ref or {}) if goal_scope.exact else None - ) - - from .links import receiver_followthrough - - receiver_followthrough(root, registry, result["items"]) - # Input hashing can touch arbitrary workspace files and does not participate - # in Goal lifetime admission. - for item in result["items"]: - if item.get("brief"): - item["input_readiness"] = _input_readiness_for_goal( - registry, - goal_id, - observed_goal, - item["brief"], - workspace=workspace, - ) - if result["items"] or return_deliveries: + observed_goal_ref = dict(goal_scope.caller_goal_ref or {}) if goal_scope.exact else None + + if not snapshot.get("completed"): + work = receiver_work_observations(root, registry, result["items"]) + # Input hashing remains outside Goal lifetime admission. + for item in result["items"]: + if item.get("brief"): + item["input_readiness"] = _input_readiness_for_goal( + registry, goal_id, observed_goal, item["brief"], workspace=workspace, + ) with collaboration_goal_scope( - registry, - goal_id=goal_id, - agents=(agent_id,), - caller_goal_ref=observed_goal_ref, + registry, goal_id=goal_id, agents=(agent_id,), caller_goal_ref=observed_goal_ref, ) as goal_scope: - if result["items"]: - record_read(root, result["items"], scope=goal_scope) - else: - decide_collaboration_lifecycle( - goal_scope, - operation="read_record", - record=return_deliveries[0][1], - ) - _record_return_reads(root, return_deliveries, scope=goal_scope) - from .turn_context_observation import read_delegation_turn_context - + final = read_inbox_transaction(root, { + "operation": "record_read", "goal_id": goal_id, "agent_id": agent_id, + "items": result["items"], + "deliveries": snapshot["deliveries"], "work_observations": work, + "include_context": request_id is None, "read_command": read_command, + }, scope=goal_scope) + else: + final = snapshot + for item in result["items"]: + if item.get("brief"): + item["input_readiness"] = [] + for item, receipt, advice in zip(result["items"], final["read_receipts"], final["followthrough"], strict=True): + if receipt is not None: + item["request_read_receipt"] = receipt + item["receiver_followthrough"] = advice if request_id is None: - result["unfinished_delegations"] = read_delegation_turn_context( - root, registry, goal_id, agent_id)["unfinished_delegations"] + result["unfinished_delegations"] = final["context"]["unfinished_delegations"] result["followthrough"] = ( "Use each request's receiver_followthrough to reconcile it with actual Core work. " "Record an explicit assessment even when continuing other work; a read is not a decision. " diff --git a/loopx/control_plane/collaboration/return_delivery_contract.json b/loopx/control_plane/collaboration/return_delivery_contract.json new file mode 100644 index 0000000000..db0839aeed --- /dev/null +++ b/loopx/control_plane/collaboration/return_delivery_contract.json @@ -0,0 +1,27 @@ +{ + "delivery_statuses": [ + "admitted", + "delivered", + "explicit_unverified", + "queued", + "retry_pending", + "superseded", + "verification_required" + ], + "delivery_errors": [ + "delivery_state_unreadable", + "initial_delivery_receipt_unavailable", + "manager_return_payload_conflict", + "original_route_or_return_delivery_unavailable", + "original_route_unavailable", + "provider_delivery_intent_conflict", + "provider_delivery_mismatch", + "provider_delivery_unverified", + "provider_locator_unavailable", + "provider_message_missing", + "provider_verification_unavailable", + "provider_verifier_unavailable", + "return_authorization_unavailable", + "return_transport_unavailable" + ] +} diff --git a/loopx/control_plane/collaboration/turn_context_observation.py b/loopx/control_plane/collaboration/turn_context_observation.py index 37873412b1..2aec38e178 100644 --- a/loopx/control_plane/collaboration/turn_context_observation.py +++ b/loopx/control_plane/collaboration/turn_context_observation.py @@ -1,114 +1,20 @@ -"""Read-only filesystem adapter for the TS-owned unfinished delegation agenda.""" -from __future__ import annotations - -import json +"""Host command formatting and Goal admission for native Inbox observations.""" import shlex from pathlib import Path -from ..content_digest import BARE_SHA256_PATTERN -from ..effect_runtime import effect_runtime_result -from .goal_instance_scope import collaboration_goal_scope, decide_collaboration_lifecycle -from .inbox import ( - _entry, _hash, _now, _pending_entry, _pending_receipt_states, _read, - _receipt, _root, _target, inspect_result_identity, result_paths, reply_status, -) - - -def _paths(folder): - # Same exact-Agent folders as inbox/peer requests; never scan other Agents' inboxes. - try: - paths = folder.iterdir() - return sorted(path for path in paths if path.suffix == ".json" and BARE_SHA256_PATTERN.fullmatch(path.stem)) - except FileNotFoundError: - return [] - +from .goal_instance_scope import collaboration_goal_scope +from .inbox_read import read_inbox_transaction -def _results(root, row): - statuses = {r.get("result_key", r["phase"]): r for r in reply_status(root, row)} - results = [] - for path in result_paths(_root(root) / "replies" / row["request_id"]): - value = _read(path) - if value.get("phase") != "conclusion": - continue - if inspect_result_identity(value, row, path) is None: - raise ValueError("delegation result identity unavailable") - from .peers import _return_consumed - consumed = row.get("source_kind") == "peer" and _return_consumed( - path, row, value, agent_id=row["source_agent_id"]) - results.append({"result_key": path.stem, "request_revision": value.get("request_revision", 1), - "status": statuses[path.stem]["status"], "consumed": consumed}) - return results +def delegation_read_command(root, registry, goal_id, agent_id): + return shlex.join(["loopx", "--registry", str(registry), "--runtime-root", str(root), + "manager-inbox", "read", "--goal-id", goal_id, "--agent-id", agent_id]) def read_delegation_turn_context(root: Path, registry: Path, goal_id: str, agent_id: str, *, read_command: str | None = None) -> dict: - read_command = read_command or shlex.join(["loopx", "--registry", str(registry), "--runtime-root", - str(root), "manager-inbox", "read", "--goal-id", goal_id, "--agent-id", agent_id]) - rows, complete, unavailable = [], True, 0 with collaboration_goal_scope(registry, goal_id=goal_id, agents=(agent_id,)) as scope: - base = _root(root) - folders = (("incoming", base / "entries" / _hash(_target(goal_id, agent_id, scope))), - ("outgoing", base / "peer-operations" / _hash(_target(goal_id, agent_id, scope)))) - for direction, folder in folders: - paths = _paths(folder) - complete = complete and len(paths) <= 2000 - for path in paths[:2000]: - try: - if direction == "incoming": - row = _pending_entry(path, goal_id, agent_id, scope) - else: - operation = _read(path) - if (operation.get("goal_id") != goal_id or operation.get("source_agent_id") != agent_id - or scope.exact and operation.get("goal_ref") != scope.caller_goal_ref): - raise ValueError("delegation operation scope mismatch") - row = _entry(root, goal_id, operation["agent_id"], operation["request_id"], scope=scope) - if row.get("source_agent_id") != agent_id or row.get("source_id") != operation.get("source_id"): - raise ValueError("delegation request scope mismatch") - if decide_collaboration_lifecycle(scope, operation="inbox_observe", record=row).get("kind") == "omit": - continue - rows.append((direction, row)) - except (OSError, ValueError, KeyError, TypeError): - unavailable += 1 - batches = [] - # The existing receipt reader batches full controlled requests by RPC wire bytes. - for start in range(0, len(rows), 128): - batch = rows[start:start + 128] - states = _pending_receipt_states(root, [row for _, row in batch]) - observations = [] - for (direction, row), state in zip(batch, states, strict=True): - links, error = _receipt(root, "links", row) - results = [] - try: - results = _results(root, row) - except (OSError, ValueError, KeyError, TypeError): - error = "delegation_result_unavailable" - # Only the selected current brief and receipt facts cross this boundary; - # source messages, transcripts, result text and private rationale do not. - control = state.get("request_control_view") - state = {"kind": state["kind"], "recorded_decision": state["recorded_decision"]} - if control is not None: - state["request_control_view"] = {key: control.get(key) for key in ( - "control_state", "active_reservation", "revision", "revision_digest")} - state["request_control_view"]["brief"] = {"purpose": control["brief"]["purpose"]} - observations.append({"direction": direction, - "request": {**{key: row[key] for key in ("request_id", "agent_id", "source_kind", - "source_agent_id", "goal_ref") if key in row}, - "purpose": (row.get("brief") or {}).get("purpose") or row.get("message", "")[:2000]}, - "receipt": state, "todo_ids": links.get("todo_ids", []), - "evidence_unavailable": bool(error), "results": results}) - # Large legal Unicode briefs must not overflow the ordinary local RPC. - pending = [] - size = 0 - for observation in observations: - encoded = len(json.dumps(observation, separators=(",", ":")).encode()) - if pending and size + encoded > 1_500_000: - batches.append(effect_runtime_result("collaboration.inbox.turn_items", {"observations": pending})) - pending, size = [], 0 - pending.append(observation) - size += encoded - if pending: - batches.append(effect_runtime_result("collaboration.inbox.turn_items", {"observations": pending})) - return effect_runtime_result("collaboration.inbox.turn_context", {"batches": batches, - "scan_complete": complete, "unavailable_count": unavailable, - "observed_at": _now(), "read_command": read_command}) + return read_inbox_transaction(root, { + "operation": "turn_context", "goal_id": goal_id, "agent_id": agent_id, + "read_command": read_command or delegation_read_command(root, registry, goal_id, agent_id), + }, scope=scope) diff --git a/loopx/control_plane/effect_runtime.py b/loopx/control_plane/effect_runtime.py index 7e18939128..22e4966316 100644 --- a/loopx/control_plane/effect_runtime.py +++ b/loopx/control_plane/effect_runtime.py @@ -42,6 +42,7 @@ MAX_REQUEST_BYTES = 2 * 1024 * 1024 MAX_LOCAL_SNAPSHOT_BYTES = 64 * 1024 * 1024 LOCAL_SNAPSHOT_METHODS = frozenset({ + "collaboration.inbox.read", "collaboration.delegation.inventory_page", "benchmark.trajectory.codex-usage", "coordination.local_authority.todo_source", diff --git a/loopx/control_plane/effect_runtime_handlers.ts b/loopx/control_plane/effect_runtime_handlers.ts index 809f5ee933..71edd1cc47 100644 --- a/loopx/control_plane/effect_runtime_handlers.ts +++ b/loopx/control_plane/effect_runtime_handlers.ts @@ -653,14 +653,10 @@ export function createEffectRuntimeHandlers( ["collaboration.source_context.normalize", lazyHandler(() => import("./collaboration/semantic_request.ts"), ({normalizeCollaborationSourceContext}) => normalizeCollaborationSourceContext)], ["collaboration.request.plan_publication", lazyHandler(() => import("./collaboration/request_control.ts"), ({planControlledRequestPublication}) => planControlledRequestPublication)], ["collaboration.request.control", lazyHandler(() => import("./collaboration/request_control.ts"), ({planRequestControl}) => planRequestControl)], - ["collaboration.request.record_read", lazyHandler(() => import("./collaboration/request_control.ts"), ({recordControlledRequestRead}) => recordControlledRequestRead)], ["collaboration.request.assess", lazyHandler(() => import("./collaboration/request_control.ts"), ({recordControlledRequestAssessment}) => recordControlledRequestAssessment)], ["collaboration.request.amendment_readback", lazyHandler(() => import("./collaboration/request_control.ts"), ({requestAmendmentReadback}) => requestAmendmentReadback)], ["goal.amendment.request_receipt", lazyHandler(() => import("./goals/goal_amendment_authority.ts"), ({projectRequestAmendmentReceipt}) => projectRequestAmendmentReceipt)], - ["collaboration.inbox.inspect_receipts", lazyHandler(() => import("./collaboration/inbox_receipts.ts"), ({inspectCollaborationInboxReceipts}) => inspectCollaborationInboxReceipts)], - ["collaboration.inbox.turn_items", lazyHandler(() => import("./collaboration/turn_context.ts"), ({projectDelegationTurnItems}) => projectDelegationTurnItems)], - ["collaboration.inbox.turn_context", lazyHandler(() => import("./collaboration/turn_context.ts"), ({projectDelegationTurnContext}) => projectDelegationTurnContext)], - ["collaboration.inbox.receiver_followthrough", lazyHandler(() => import("./collaboration/inbox_receipts.ts"), ({projectReceiverFollowthrough}) => projectReceiverFollowthrough)], + ["collaboration.inbox.read", lazyHandler(() => import("./collaboration/inbox_read.ts"), ({readCollaborationInbox}) => readCollaborationInbox)], ["collaboration.result.plan_publication", lazyHandler(() => import("./collaboration/result_publication.ts"), ({planCollaborationResult}) => planCollaborationResult)], ["collaboration.result.attachment_refs", lazyHandler(() => import("./collaboration/result_publication.ts"), ({resultAttachmentRefs}) => resultAttachmentRefs)], ["collaboration.result.delivery_ready", lazyHandler(() => import("./collaboration/result_publication.ts"), ({collaborationResultDeliveryReady}) => collaborationResultDeliveryReady)], diff --git a/loopx/control_plane/effect_runtime_server.ts b/loopx/control_plane/effect_runtime_server.ts index 57852c25d1..9e869b39df 100644 --- a/loopx/control_plane/effect_runtime_server.ts +++ b/loopx/control_plane/effect_runtime_server.ts @@ -28,6 +28,7 @@ const MAX_REQUEST_BYTES = 2 * 1024 * 1024; const MAX_INLINE_RESPONSE_BYTES = 2 * 1024 * 1024; // Explicit opt-in: ordinary effects retain the 2 MiB request/response wire. const LOCAL_SNAPSHOT_METHODS = new Set([ + "collaboration.inbox.read", "collaboration.delegation.inventory_page", "benchmark.trajectory.codex-usage", "coordination.local_authority.todo_source", diff --git a/pyproject.toml b/pyproject.toml index dbe072b74b..c6123f2965 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,7 +72,7 @@ include = ["loopx*"] "loopx.semantics" = ["*.json"] "loopx.control_plane.agents" = ["*.ts"] "loopx.control_plane.capabilities" = ["*.ts"] -"loopx.control_plane.collaboration" = ["*.ts"] +"loopx.control_plane.collaboration" = ["*.ts", "*.json"] "loopx.control_plane.coordination" = ["*.ts", "*.json"] "loopx.control_plane.goals" = ["*.ts"] "loopx.control_plane.goals.goal_frontier" = ["*.ts"] diff --git a/tests/control_plane/test_inbox_read_recovery.py b/tests/control_plane/test_inbox_read_recovery.py new file mode 100644 index 0000000000..ee78226ac4 --- /dev/null +++ b/tests/control_plane/test_inbox_read_recovery.py @@ -0,0 +1,140 @@ +"""A terminated native reader can replay a partially supplied page.""" +import json +import subprocess +import time +from pathlib import Path + +from loopx.control_plane.collaboration.goal_instance_scope import collaboration_goal_scope +from loopx.control_plane.collaboration.inbox import _root, pending +from loopx.control_plane.collaboration.peers import request +from loopx.control_plane.projects.registry_codec import source_session_registry_transaction +from loopx.control_plane.effect_runtime import _node_executable +from loopx.file_lock import exclusive_cross_runtime_file_lock + + +def test_interrupted_page_preserves_first_receipt_and_finishes_remaining_reads(tmp_path): + registry = tmp_path / "registry.json" + with source_session_registry_transaction(registry, operation="create_inbox_fixture", create=lambda: { + "profile_id": "source_session_v1", "goals": [{"id": "research", "repo": str(tmp_path), + "status": "active", "goal_instance_id": "ginst_" + "a" * 32, + "coordination": {"registered_agents": ["source", "worker"]}}], + "session_bindings": [], "session_receipts": [], "lifetime_receipts": [], + }) as transaction: + transaction.commit(transaction.payload_copy()) + brief = {"schema_version": "collaboration_brief_v0", "purpose": "Inspect the current artifact", + "context": "Keep existing authority", "constraints": [], "inputs": [], + "acceptance": ["Return the findings"], "return_requirement": "Reply to the requester"} + for operation in ("first", "second"): + request(tmp_path, registry, "research", "source", "worker", operation, brief) + owner = _root(tmp_path) + before = {p: p.read_bytes() for p in (owner / "entries").rglob("*.json")} + module = (Path(__file__).resolve().parents[2] / "loopx/control_plane/collaboration/inbox_read.ts").as_uri() + script = f"""import {{readCollaborationInbox}} from {json.dumps(module)}; +let input = ''; for await (const chunk of process.stdin) input += chunk; +process.stdout.write(JSON.stringify(await readCollaborationInbox(JSON.parse(input))));""" + command = [_node_executable(), "--no-warnings", "--experimental-strip-types", "--input-type=module", "-e", script] + with collaboration_goal_scope(registry, goal_id="research", agents=("worker",)) as scope: + items = pending(tmp_path, "research", "worker", scope=scope)["items"] + first = owner / "reads" / (items[0]["request_id"] + ".json") + second = owner / "reads" / (items[1]["request_id"] + ".json") + payload = {"operation": "record_read", "runtime_root": str(tmp_path), + "goal_id": "research", "agent_id": "worker", "items": items, "deliveries": [], + "scope": {"profile_id": scope.profile_id, "caller_goal_ref": scope.caller_goal_ref, + "current_goal_ref": scope.current_goal_ref}, "observed_at": "2026-10-19T00:00:00+00:00"} + with exclusive_cross_runtime_file_lock(owner / "request-locks" / items[1]["request_id"]): + child = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, text=True, encoding="utf-8") + try: + child.stdin.write(json.dumps(payload)) + child.stdin.close() + deadline = time.monotonic() + 15 + while not first.exists() and child.poll() is None and time.monotonic() < deadline: + time.sleep(0.02) + assert first.exists(), child.stderr.read() if child.poll() is not None else "first read was not committed" + assert not second.exists() + committed = first.read_bytes() + finally: + if child.poll() is None: + child.terminate() + child.wait(timeout=15) + child.stdout.close() + child.stderr.close() + payload["observed_at"] = "2026-10-19T00:00:01+00:00" + replay = subprocess.run(command, input=json.dumps(payload), capture_output=True, + text=True, encoding="utf-8", timeout=30) + assert replay.returncode == 0, replay.stderr + assert json.loads(replay.stdout)["read_receipts"] == [None, None] + assert first.read_bytes() == committed + assert json.loads(second.read_text(encoding="utf-8"))["read_at"] == payload["observed_at"] + assert {p: p.read_bytes() for p in before} == before + + +def test_large_legal_inbox_page_keeps_complete_source_and_records_supplied_reads(tmp_path): + from loopx.control_plane.collaboration.inbox import ( + ENTRY_SCHEMA, _hash, _write, normalize_request, normalize_source_context, plan_request_publication, + ) + from loopx.control_plane.collaboration.peers import read_inbox + from loopx.control_plane.effect_runtime import MAX_RESPONSE_BYTES + + registry = tmp_path / "registry.json" + registry.write_text(json.dumps({"goals": [{"id": "research", "repo": str(tmp_path), + "coordination": {"registered_agents": ["worker"]}}]}), encoding="utf-8") + message = normalize_source_context("😀" * 24_000) + target = {"goal_id": "research", "agent_id": "worker"} + normalized = normalize_request({**target, "brief": {"schema_version": "collaboration_brief_v0", + "purpose": "p" * 500, "context": "c" * 6000, "constraints": ["x" * 1000] * 8, + "inputs": [], "acceptance": ["a" * 1000], "return_requirement": "Return the findings"}}) + folder = _root(tmp_path) / "entries" / _hash(target) + for index in range(20): + source_id = f"synthetic-source:{index}" + rid = _hash([source_id, target]) + source = {"schema_version": ENTRY_SCHEMA, "request_id": rid, "source_id": source_id, + **normalized, "message": message} + publication = plan_request_publication(source, entry=None) + _write(folder / (rid + ".json"), publication["entry"]) + before = {p: p.read_bytes() for p in folder.glob("*.json")} + + response = read_inbox(tmp_path, registry, "research", "worker", workspace=tmp_path) + + assert len(response["items"]) == 20 + assert len(json.dumps(response, ensure_ascii=False).encode()) > MAX_RESPONSE_BYTES + assert all(item["message"] == message and item["brief"] == normalized["brief"] for item in response["items"]) + assert all(item["recorded_decision"] is None for item in response["items"]) + assert {p: p.read_bytes() for p in before} == before + assert len(list((_root(tmp_path) / "reads").glob("*.json"))) == 20 + + +def test_operation_source_appearing_after_committed_read_is_observed_on_next_read(tmp_path, monkeypatch): + import pytest + from loopx.chat_store import ChatSessionStore + from loopx.capabilities.manager_context import deliver + from loopx.control_plane.collaboration import inbox_read + from loopx.control_plane.collaboration.peers import read_inbox + + registry = tmp_path / "registry.json" + registry.write_text(json.dumps({"goals": [{"id": "research", "repo": str(tmp_path), + "coordination": {"registered_agents": ["worker"]}}]}), encoding="utf-8") + store = ChatSessionStore(tmp_path) + session = store.create_session(goal_id="loopx-manager", agent_id="codex", adapter_kind="codex_app_server", + upstream_thread_id="synthetic", channel_id="manager") + turn, _ = store.create_turn(session["session_id"], client_turn_id="source", message="Inspect the artifact", origin="web") + receipt = deliver(tmp_path, registry, session=session, turn=turn, + request={"goal_id": "research", "agent_id": "worker"}) + transport = inbox_read.read_inbox_transaction + + def source_appears(root, query, **kwargs): + response = transport(root, query, **kwargs) + if query["operation"] == "receiver_read": + path = root / "chat" / "actions" / "actions.json" + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text("{broken", encoding="utf-8") + return response + + monkeypatch.setattr(inbox_read, "read_inbox_transaction", source_appears) + observed = read_inbox(tmp_path, registry, "research", "worker") + assert [item["request_id"] for item in observed["items"]] == [receipt["request_id"]] + reads = {p: p.read_bytes() for p in (_root(tmp_path) / "reads").glob("*.json")} + monkeypatch.setattr(inbox_read, "read_inbox_transaction", transport) + with pytest.raises(ValueError): + read_inbox(tmp_path, registry, "research", "worker") + assert {p: p.read_bytes() for p in reads} == reads diff --git a/tests/control_plane_ts/inbox_read_transaction.test.ts b/tests/control_plane_ts/inbox_read_transaction.test.ts new file mode 100644 index 0000000000..6aeeee0ce3 --- /dev/null +++ b/tests/control_plane_ts/inbox_read_transaction.test.ts @@ -0,0 +1,222 @@ +import assert from "node:assert/strict"; +import test from "node:test"; +import {mkdtempSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync} from "node:fs"; +import {join} from "node:path"; +import {tmpdir} from "node:os"; +import type {JsonObject} from "../../loopx/control_plane/effect_program.ts"; +import {readCollaborationInbox} from "../../loopx/control_plane/collaboration/inbox_read.ts"; + +const ref = {goal_id: "research", goal_instance_id: "ginst_" + "a".repeat(32)}; +// Addresses captured from the shipped Python storage codec, including its spaces. +const targets = { + legacy: "433a92de158f221e8f912110b3736ae8aca7f605fc96be50019e32311407e69b", + exact: "f1f1d6040c09e2d54ce7ba2d6ec93659c1bfdf365a2b072bf40d38da0a8e52d8", +}; +function fixture(t: test.TestContext, profile: keyof typeof targets = "exact") { + const root = mkdtempSync(join(tmpdir(), "loopx-inbox-来源-")); + t.after(() => rmSync(root, {recursive: true, force: true})); + const base = join(root, ".local", "manager-context"); + const folder = join(base, "entries", targets[profile]); + mkdirSync(folder, {recursive: true}); + const scope = {profile_id: profile === "exact" ? "source_session_v1" : null, + caller_goal_ref: profile === "exact" ? ref : null, current_goal_ref: profile === "exact" ? ref : null}; + const row = (index: number, extra: JsonObject = {}) => ({ + schema_version: profile === "exact" ? "loopx_manager_context_entry_v2" : "loopx_manager_context_entry_v1", + goal_id: "research", agent_id: "worker", request_id: index.toString(16).padStart(64, "0"), + ...(profile === "exact" ? {goal_ref: ref} : {}), source_id: "source:" + index, + message: "Inspect the current artifact. " + "x".repeat(300) + "PRIVATE_LONG_SOURCE", + ...extra, + }); + const publish = (index: number, extra: JsonObject = {}) => { + const request = row(index, extra); + writeFileSync(join(folder, request.request_id + ".json"), JSON.stringify(request)); + return request; + }; + const call = (operation: string, extra: JsonObject = {}) => readCollaborationInbox({runtime_root: root, + scope, goal_id: "research", agent_id: "worker", operation, + observed_at: "2026-10-19T00:00:00.000000+00:00", read_command: "loopx manager-inbox read", ...extra}); + return {root, base, folder, row, publish, call, scope}; +} +function sourceBytes(folder: string): [string, string][] { + return readdirSync(folder).sort().map(name => [name, readFileSync(join(folder, name)).toString("hex")]); +} + +for (const profile of ["legacy", "exact"] as const) { + test(`${profile}: Turn observation retains full counts without writing or exposing long source`, async t => { + const f = fixture(t, profile); + for (let n = 1; n <= 128; n++) f.publish(n); + const before = sourceBytes(f.folder), observed = await f.call("turn_start"); + const page = observed.result as JsonObject; + assert.equal((page.items as unknown[]).length, 20); + assert.equal(page.has_more, true); + const context = (observed.context as JsonObject).unfinished_delegations as JsonObject; + assert.equal(context.incoming_count, 128); + assert.equal(context.omitted_count, 108); + assert.equal(context.scan_complete, true); + assert.equal(JSON.stringify(context).includes("PRIVATE_LONG_SOURCE"), false); + assert.deepEqual(sourceBytes(f.folder), before); + assert.deepEqual(readdirSync(f.base).sort(), ["entries"]); + }); + + test(`${profile}: a completed receiver page records only its supplied requests and replays without adoption`, async t => { + const f = fixture(t, profile); + for (let n = 1; n <= 26; n++) f.publish(n); + const source = sourceBytes(f.folder), first = await f.call("receiver_read"); + assert.equal(first.completed, true); + assert.equal((first.followthrough as JsonObject[])[0].step, "assess_request"); + const reads = join(f.base, "reads"), before = sourceBytes(reads).filter(([name]) => name.endsWith(".json")); + assert.equal(before.length, 20); + for (const [name] of before) assert.equal(JSON.parse(readFileSync(join(reads, name), "utf8")).kind, "receiver_cli_read"); + const repeated = await f.call("receiver_read"); + assert.equal((repeated.result as JsonObject).has_more, true); + assert.deepEqual(sourceBytes(reads).filter(([name]) => name.endsWith(".json")), before); + assert.deepEqual(sourceBytes(f.folder), source); + assert.equal((repeated.context as JsonObject).read_complete, false); + }); +} + +test("a later damaged entry cannot block the complete current page", async t => { + const f = fixture(t); + for (let n = 1; n <= 21; n++) f.publish(n); + writeFileSync(join(f.folder, "f".repeat(64) + ".json"), "{broken"); + const first = (await f.call("pending")).result as JsonObject; + assert.equal((first.items as unknown[]).length, 20); + await assert.rejects(f.call("pending", {cursor: first.next_cursor}), /invalid manager context record/); + const context = (await f.call("turn_context")).unfinished_delegations as JsonObject; + assert.equal(context.incoming_count, 21); + assert.equal(context.unavailable_count, 1); + assert.equal(context.scan_complete, false); +}); + +test("named reads never fall back to another page or record unrelated requests", async t => { + const f = fixture(t), original = f.publish(1), other = f.publish(2); + const result = await f.call("receiver_read", {request_id: original.request_id}); + assert.equal((result.result as JsonObject).request_id, original.request_id); + assert.equal((result.result as JsonObject).peer_returns, undefined); + assert.equal(result.context, undefined); + assert.deepEqual(readdirSync(join(f.base, "reads")).filter(name => name.endsWith(".json")), [original.request_id + ".json"]); + await assert.rejects(f.call("receiver_read", {request_id: other.request_id, cursor: "invalid"}), /cannot use inbox cursors/); + await assert.rejects(f.call("receiver_read", {request_id: "f".repeat(64)}), /not found/); + assert.deepEqual(readdirSync(join(f.base, "reads")).filter(name => name.endsWith(".json")), [original.request_id + ".json"]); +}); + +test("a stale Goal instance cannot acknowledge an old request", async t => { + const f = fixture(t), request = f.publish(1), before = sourceBytes(f.folder); + await assert.rejects(f.call("record_read", {items: [request], deliveries: [], + scope: {...f.scope, current_goal_ref: {...ref, goal_instance_id: "ginst_" + "b".repeat(32)}}}), /lifecycle rejected/); + assert.deepEqual(sourceBytes(f.folder), before); + assert.deepEqual(readdirSync(f.base), ["entries"]); +}); + +for (const field of ["goal_id", "agent_id"]) { + test(`a supplied request cannot change its ${field} while reusing an existing id`, async t => { + const f = fixture(t, "legacy"), row = f.publish(1); + await assert.rejects(f.call("record_read", {items: [{...row, [field]: "other"}], deliveries: []}), /scope mismatch/); + assert.deepEqual(readdirSync(f.base), ["entries"]); + }); +} + +test("input-provider work defers receipts until finalization", async t => { + const f = fixture(t), request = f.publish(1, {brief: {inputs: [{ref: "artifact.txt"}]}}); + const prepared = await f.call("receiver_read"); + assert.equal(prepared.completed, undefined); + assert.deepEqual(readdirSync(f.base), ["entries"]); + const final = await f.call("record_read", {items: [request], deliveries: prepared.deliveries, + work_observations: [{kind: "pending", recorded_decision: null, linked_todos: [], evidence_refs: [], evidence_unavailable: false}], + include_context: true}); + assert.equal((final.followthrough as JsonObject[])[0].step, "assess_request"); + assert.equal(((final.context as JsonObject).unfinished_delegations as JsonObject).incoming_count, 1); + assert.equal(JSON.parse(readFileSync(join(f.base, "reads", request.request_id + ".json"), "utf8")).kind, "receiver_cli_read"); +}); + +for (const bytes of [Buffer.from("\ufeff{}"), Buffer.from([0xff]), Buffer.alloc(128_001, 32)]) { + test(`unreadable record bytes remain visible as incomplete evidence (${bytes.length})`, async t => { + const f = fixture(t), request = f.publish(1); + writeFileSync(join(f.folder, request.request_id + ".json"), bytes); + await assert.rejects(f.call("receiver_read"), /manager context record/); + const context = (await f.call("turn_context")).unfinished_delegations as JsonObject; + assert.equal(context.unavailable_count, 1); + assert.equal(context.scan_complete, false); + assert.deepEqual(readdirSync(f.base), ["entries"]); + }); +} + +test("malformed receipts retain the request and recovery advice", async t => { + const f = fixture(t), request = f.publish(1); + mkdirSync(join(f.base, "decisions")); + writeFileSync(join(f.base, "decisions", request.request_id + ".json"), "{broken"); + const response = await f.call("receiver_read"), item = ((response.result as JsonObject).items as JsonObject[])[0]; + assert.equal(item.inbox_state, "receipt_unavailable"); + assert.equal(item.recorded_decision, null); + assert.equal((response.followthrough as JsonObject[])[0].step, "recover_evidence"); + assert.equal(readFileSync(join(f.base, "decisions", request.request_id + ".json"), "utf8"), "{broken"); +}); + +test("unreadable source content is incomplete evidence rather than coerced prose", async t => { + const f = fixture(t); + f.publish(1, {message: {text: "unreadable"}}); + await assert.rejects(f.call("receiver_read"), /invalid Inbox source content/); + const context = (await f.call("turn_context")).unfinished_delegations as JsonObject; + assert.equal(context.scan_complete, false); + assert.equal(context.unavailable_count, 1); + assert.deepEqual(context.items, []); + assert.deepEqual(readdirSync(f.base), ["entries"]); +}); + +for (const status of [null, ["queued"]]) { +test(`malformed delivery status retains its recovery distinction (${JSON.stringify(status)})`, async t => { + const f = fixture(t), request = f.publish(1), folder = join(f.base, "replies", request.request_id); + mkdirSync(folder, {recursive: true}); + mkdirSync(join(f.base, "decisions")); + const identity = Object.fromEntries(["request_id", "goal_id", "agent_id", "source_id", "goal_ref"].map(key => [key, request[key as keyof typeof request]])); + writeFileSync(join(f.base, "decisions", request.request_id + ".json"), JSON.stringify({...identity, decision: "adopt"})); + writeFileSync(join(folder, "conclusion.json"), JSON.stringify({...identity, phase: "conclusion", decision: "adopt", text: "Findings"})); + writeFileSync(join(folder, "conclusion.delivery.json"), JSON.stringify({status})); + const context = (await f.call("turn_context")).unfinished_delegations as JsonObject; + const agenda = context.items as JsonObject[]; + if (status === null) { + assert.equal((agenda[0].returns as JsonObject[])[0].status, "explicit_unverified"); + assert.equal(agenda[0].step, "await_return_delivery"); + } else assert.equal(agenda[0].step, "recover_evidence"); +}); +} + +test("a legal combined Inbox and peer-return page retains content beyond the inline wire budget", async t => { + const f = fixture(t), message = "x".repeat(50_000), text = "😀".repeat(20_000); + const operations = join(f.base, "peer-operations", targets.exact); + const receiver = join(f.base, "entries", "5ab0deb53efce4b1d0cf830afb67ce662e0e9aff3127e2424a4ce768212b5586"); + for (const folder of [operations, receiver, join(f.base, "decisions"), join(f.base, "roundtrips")]) mkdirSync(folder, {recursive: true}); + for (let n = 1; n <= 20; n++) { + f.publish(n, {message}); + const row = f.row(100 + n, {agent_id: "reviewer", source_kind: "peer", source_agent_id: "worker", + brief: {schema_version: "collaboration_brief_v0", purpose: "Independent review", context: "Inspect the artifact", + constraints: [], inputs: [], acceptance: ["Return findings"], return_requirement: "Reply to the requester"}}); + const identity = Object.fromEntries(["request_id", "goal_id", "agent_id", "source_id", "goal_ref"].map(key => [key, row[key as keyof typeof row]])); + writeFileSync(join(receiver, row.request_id + ".json"), JSON.stringify(row)); + writeFileSync(join(operations, row.request_id + ".json"), JSON.stringify(row)); + writeFileSync(join(f.base, "roundtrips", row.request_id + ".json"), JSON.stringify(identity)); + writeFileSync(join(f.base, "decisions", row.request_id + ".json"), JSON.stringify({...identity, decision: "adopt"})); + const replies = join(f.base, "replies", row.request_id); + mkdirSync(replies, {recursive: true}); + writeFileSync(join(replies, "conclusion.json"), JSON.stringify({...identity, phase: "conclusion", + decision: "adopt", text, created_at: "2026-10-19T00:00:00Z"})); + } + const observed = await f.call("receiver_read"), page = observed.result as JsonObject; + assert.equal(observed.completed, true); + assert.equal(Buffer.byteLength(JSON.stringify(observed)) > 2 * 1024 * 1024, true); + assert.equal((page.items as JsonObject[]).length, 20); + assert.equal(((page.peer_returns as JsonObject).items as JsonObject[]).length, 20); + for (const item of page.items as JsonObject[]) assert.equal(item.message, message); + for (const item of (page.peer_returns as JsonObject).items as JsonObject[]) assert.equal(item.text, text); +}); + +test("a large private agenda lets another runtime request finish before the scan completes", async t => { + const large = fixture(t), other = fixture(t); + for (let n = 1; n <= 256; n++) large.publish(n); + let finished = false; + const scanning = large.call("turn_context").then(context => {finished = true; return context;}); + const independent = await other.call("turn_context"); + assert.equal((independent.unfinished_delegations as JsonObject).incoming_count, 0); + assert.equal(finished, false); + assert.equal(((await scanning).unfinished_delegations as JsonObject).incoming_count, 256); +}); diff --git a/tests/test_collaboration_goal_instance.py b/tests/test_collaboration_goal_instance.py index fa1c7e8210..8280c0b00c 100644 --- a/tests/test_collaboration_goal_instance.py +++ b/tests/test_collaboration_goal_instance.py @@ -374,14 +374,14 @@ def test_inbox_read_rejects_recreation_before_response_commit( replacement = tmp_path / "replacement" replacement.mkdir() (replacement / input_path.name).write_text("instance B", encoding="utf-8") - render_followthrough = links.receiver_followthrough + read_work = links.receiver_work_observations def recreate_before_input_read(root, registry_path, items): - rendered = render_followthrough(root, registry_path, items) + rendered = read_work(root, registry_path, items) _recreate(registry, repo=replacement) return rendered - monkeypatch.setattr(links, "receiver_followthrough", recreate_before_input_read) + monkeypatch.setattr(links, "receiver_work_observations", recreate_before_input_read) with pytest.raises(ValueError, match="historical_mutation_forbidden"): read_inbox( @@ -448,13 +448,22 @@ def test_inbox_read_does_not_commit_peer_return_before_response_succeeds( caller_goal_ref=goal_ref, ) + # A real incoming input requires Host enrichment before the peer read commits. + input_path = tmp_path / "input.txt" + input_path.write_text("Current instance input", encoding="utf-8") + incoming_brief = { + **_brief("Inspect the current input before acknowledging peer delivery"), + "inputs": [{"ref": input_path.name, "description": "Current source input"}], + } + request(tmp_path, registry, "delivery", "reviewer", "builder", "read-input", incoming_brief) + def interrupt_response(*_args): if interruption == "goal_recreation": _recreate(registry) return None raise RuntimeError("response enrichment failed") - monkeypatch.setattr(links, "receiver_followthrough", interrupt_response) + monkeypatch.setattr(links, "receiver_work_observations", interrupt_response) expected_error = ValueError if interruption == "goal_recreation" else RuntimeError expected_message = ( From 88df41c2261708ec587a50723e4b1ee5aad587de Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 22:04:17 +0800 Subject: [PATCH 8/9] fix(governance): sync SLA responders with the published roster (#6880) Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- scripts/review_sla_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/review_sla_report.py b/scripts/review_sla_report.py index e89430291f..8a0a57cf43 100644 --- a/scripts/review_sla_report.py +++ b/scripts/review_sla_report.py @@ -42,7 +42,7 @@ # .github/GOVERNANCE.md. Only these accounts can satisfy the published # first-response target; tests/test_review_sla_report.py checks this list # against that table. -DEFAULT_RESPONDERS = ("huangruiteng", "steven-kid", "maxliux5", "loopx-agent") +DEFAULT_RESPONDERS = ("huangruiteng", "steven-kid", "maxliux5", "loopx-agent", "songoow") # Fallback only for inputs that carry no actor type (an old --input file). # GitHub's typed actors are authoritative: a Bot is never a responder even # when its login looks human, and a human whose login starts with "copilot" From 764b989dce88ef43ade5aba5af4958ee2cf3a821 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 19 Oct 2026 22:12:20 +0800 Subject: [PATCH 9/9] fix(lark): retain owner messages through identity outages (#6888) --- .../native_chat/external_conversations.py | 11 +- .../extensions/lark/private_conversations.py | 29 ++++- tests/test_lark_private_conversations.py | 117 ++++++++++++++++++ tests/test_native_steward_private.py | 20 +++ 4 files changed, 170 insertions(+), 7 deletions(-) diff --git a/loopx/capabilities/native_chat/external_conversations.py b/loopx/capabilities/native_chat/external_conversations.py index 1326ba2dc0..6e6fb8bc6b 100644 --- a/loopx/capabilities/native_chat/external_conversations.py +++ b/loopx/capabilities/native_chat/external_conversations.py @@ -168,7 +168,7 @@ def _admit_prepared(self, path: Path, row: dict[str, Any], selected: dict[str, A controller = self.controller self.bindings.ensure_delivery_scope(selected) if not row.get("routing_recorded"): - choices = [item for item in self.pending() if item["binding_id"] == row["binding_id"] + choices = [item for item in self.pending() if item.get("binding_id") == row["binding_id"] and item["source"]["source_ref"] == row["source"]["source_ref"] and item.get("selection_recorded")] previous = max(choices, key=lambda item: item.get("selection_order", 0)) if choices else None @@ -262,7 +262,7 @@ def _admit_prepared(self, path: Path, row: dict[str, Any], selected: dict[str, A row["response"] = "当前没有已授权且可用的 Agent。请在本机 Chat → 设置 → Lark,为此 App 明确授权已有 attached Session;名称相似不会获得授权。" if not choices else "可选 Agent(使用确切命令):\n" + "\n".join(f"{item['agent_id']} · {item['goal_id']}\n/agent {item['target_ref']}" for item in choices) if row.get("selection_recorded"): row["selection_order"] = 1 + max((item.get("selection_order", 0) for item in self.pending() - if item["binding_id"] == row["binding_id"] and item["source"]["source_ref"] == row["source"]["source_ref"]), default=0) + if item.get("binding_id") == row["binding_id"] and item["source"]["source_ref"] == row["source"]["source_ref"]), default=0) row.update(status="command_completed", session_id=None, turn_id=None) elif operation == "steward_action": parsed = self.bindings._core("collaboration.steward.command", {"command": row["command"], "message": row["message"]}) @@ -385,8 +385,9 @@ def commission_evidence(self, session: dict[str, Any]) -> list[dict[str, Any]]: latest: dict[str, dict[str, Any]] = {} for row in sorted(self.pending(), key=lambda row: row.get("created_at", "")): resources = row.get("commission_resources") or {} - if (row["binding_id"] == saved["binding_id"] and row["source"]["source_ref"] == saved["source_ref"] - and resources.get("goal_id") in allowed): + if (resources.get("goal_id") in allowed + and row["binding_id"] == saved["binding_id"] + and row["source"]["source_ref"] == saved["source_ref"]): latest[resources["goal_id"]] = row facts = [] for goal_id, row in latest.items(): @@ -603,6 +604,8 @@ def record_delivery(self, request_ref: str, *, session_id: str | None, turn_id: path = self.root / f"{request_ref}.json" with exclusive_file_lock(path, operation="record_external_chat_delivery"): row = _read_json(path) + if row.get("request_ref") != request_ref: + raise ValueError("delivery request journal unavailable") if row.get("commission_adoption_pending"): raise ValueError("commission adoption is pending; notification cannot settle the effect") if (row.get("session_id"), row.get("turn_id")) != (session_id, turn_id): diff --git a/loopx/extensions/lark/private_conversations.py b/loopx/extensions/lark/private_conversations.py index 5e2fbc5fa0..bfae758b01 100644 --- a/loopx/extensions/lark/private_conversations.py +++ b/loopx/extensions/lark/private_conversations.py @@ -558,13 +558,28 @@ def admit(self, profile: str, event: dict[str, Any], *, request = identity_ref(binding["provider_ref"], event["message_id"]) control_root = self._admitted_control_root({"request_ref": request, "source": source, "event": event}, binding) - selected = (None if control_root else self.bindings.resolve( - binding_id=binding["binding_id"], **source, include_observation=True)) except (KeyError, StopIteration, ValueError): return {"status": "audience_rejected"} request = identity_ref(binding["provider_ref"], event["message_id"]) path = self.root / f"{request}.json" with exclusive_file_lock(path, operation="capture_private_chat_request"): + # Retain a candidate from the locally bound owner before provider + # identity IO can fail. This private receipt grants no execution: + # recovery still verifies the App, current owner, source and Core + # grant before creating a Turn. Groups and other senders keep their + # existing pre-capture privacy boundary. + if (not path.exists() and binding.get("enabled") is True + and binding.get("audience", "owner") == "owner" + and source.get("private_human_message") is True + and source["sender_ref"] == binding["operator_ref"]): + _atomic_write_json(path, {"schema_version": "lark_private_chat_delivery_v0", + "request_ref": request, "profile": profile, "binding_id": binding["binding_id"], + "source": source, "event": event, "deliveries": {}, "status": "captured"}) + try: + selected = (None if control_root else self.bindings.resolve( + binding_id=binding["binding_id"], **source, include_observation=True)) + except (KeyError, StopIteration, ValueError): + return {"status": "audience_rejected"} if path.exists(): record = _read_json(path) # event_id can change on redelivery; canonical message content @@ -578,6 +593,11 @@ def admit(self, profile: str, event: dict[str, Any], *, "event": event, "deliveries": {}, "status": "captured"} if binding.get("audience") != "group": _atomic_write_json(path, record) + # A transport-only rejection never owned a Core request. Its + # verified notice stays terminal on provider redelivery too. + if (record["status"] == "delivered" + and "session_id" not in record and "turn_id" not in record): + return {"status": "command_rejected"} if control_root: result = self._admit_group_control(path, record, binding, control_root, defer_background_stop=defer_background_stop) @@ -1163,7 +1183,10 @@ def inbox() -> Path: config = inbox() acknowledge_lark_event_inbox(project=self.runtime_root, config_path=config, message_ids=[record["event"]["message_id"]], execute=True) - self.core.record_delivery(record["request_ref"], session_id=record.get("session_id"), turn_id=record.get("turn_id")) + if native_path.exists(): + self.core.record_delivery(record["request_ref"], session_id=record.get("session_id"), turn_id=record.get("turn_id")) + elif record["status"] != "rejected": + raise ValueError("delivery request journal unavailable") record["status"] = "delivered" _atomic_write_json(path, record) return 1 diff --git a/tests/test_lark_private_conversations.py b/tests/test_lark_private_conversations.py index 6eb7030703..0f5e0fd65b 100644 --- a/tests/test_lark_private_conversations.py +++ b/tests/test_lark_private_conversations.py @@ -305,6 +305,123 @@ def unavailable(**kwargs): runtime.close() +@pytest.mark.parametrize("unavailable", ["bot_ready", "owner_ready"]) +def test_owner_event_survives_identity_outage_and_recovers_once(ordinary, unavailable): # noqa: F811 + store, runtime, provider, transport = connect(ordinary) + event = provider.event("notes-app", "identity_outage", "Explain this project") + try: + setattr(provider, unavailable, False) + assert transport.admit("notes-app", event)["status"] == "audience_rejected" + path = next(transport.root.glob("*.json")) + captured = json.loads(path.read_text()) + assert captured["status"] == "captured" and captured["event"] == event + assert transport.pending_delivery_paths() == [path] + assert store.list_sessions() == [] and transport.core.pending() == [] + assert provider.writes == [] and provider.reaction_creates == [] + assert transport.reconcile_request(path) == 0 + assert json.loads(path.read_text()) == captured + + # The normal scanner can recover the same receipt after a restart; + # no source-history replay or second event consumer is involved. + restored = LarkPrivateConversations(controller=runtime, runtime_root=store.root.parent, + runner=provider, cli_bin="lark-cli") + setattr(provider, unavailable, True) + restored.reconcile_request(path) + row = restored.core.pending()[0] + result = runtime.wait_for_turn(session_id=row["session_id"], turn_id=row["turn_id"], timeout_sec=10) + assert result["status"] == "completed" + restored.reconcile() + delivered = json.loads(path.read_text()) + assert delivered["status"] == "delivered" and delivered["event"] == event + assert delivered["deliveries"]["terminal"]["verified"] is True + assert len(store.list_sessions()) == 1 + assert [m["text"] for m in store.messages(row["session_id"]) if m["role"] == "user"] == [event["content"]] + provider_messages = json.loads(json.dumps(provider.messages)) + provider_writes = list(provider.writes) + restored.admit("notes-app", event) + restored.reconcile() + assert provider.messages == provider_messages and provider.writes == provider_writes + packets = [json.loads(line) for line in ordinary[4].read_text().splitlines()] + assert sum(packet["method"] == "turn/start" for packet in packets) == 1 + finally: + runtime.close() + + +@pytest.mark.parametrize("change", ["revoked", "source_sender_changed", "owner_changed"]) +def test_unverified_owner_receipt_does_not_grant_later_execution(ordinary, monkeypatch, change): # noqa: F811 + store, runtime, provider, transport = connect(ordinary) + event = provider.event("notes-app", "unverified_boundary", "Explain this project") + try: + provider.owner_ready = False + assert transport.admit("notes-app", event)["status"] == "audience_rejected" + path = next(transport.root.glob("*.json")) + captured = json.loads(path.read_text()) + provider.owner_ready = True + if change == "revoked": + transport.bindings.disconnect(captured["binding_id"], + expected_revision=transport.bindings.read()["revision"]) + elif change == "source_sender_changed": + provider.messages[event["message_id"]]["sender"]["id"] = "ou_other" + else: + observe = transport.bindings.observe + monkeypatch.setattr(transport.bindings, "observe", lambda profile: { + **observe(profile), "operator_ref": "f" * 24}) + assert transport.reconcile_request(path) == 0 + assert store.list_sessions() == [] and transport.core.pending() == [] + assert provider.writes == [] and provider.reaction_creates == [] + assert json.loads(path.read_text())["status"] == "captured" + finally: + runtime.close() + + +@pytest.mark.parametrize("group", [False, True]) +def test_identity_outage_does_not_precapture_groups_or_other_owners(ordinary, group): # noqa: F811 + store, runtime, provider, transport = (connect_group if group else connect)(ordinary) + event = provider.topic("unverified_group", "Explain this project") if group else provider.event( + "notes-app", "unverified_other_owner", "Explain this project") + if not group: + event["sender_id"] = "ou_other" + try: + provider.bot_ready = False + assert transport.admit("notes-app", event)["status"] == "audience_rejected" + assert list(transport.root.glob("*.json")) == [] + assert store.list_sessions() == [] and transport.core.pending() == [] + assert provider.writes == [] and provider.reaction_creates == [] + finally: + runtime.close() + + +def test_rejected_source_returns_notice_without_creating_core_execution(ordinary, monkeypatch): # noqa: F811 + store, runtime, provider, transport = connect(ordinary) + event = provider.event("notes-app", "rejected_before_core", "Explain this project") + try: + admit = transport.core.admit + def reject(**_kwargs): + raise ValueError("identity changed before Core admission") + + monkeypatch.setattr(transport.core, "admit", reject) + assert transport.admit("notes-app", event)["status"] == "command_rejected" + path = next(transport.root.glob("*.json")) + captured = json.loads(path.read_text()) + native_path = transport.core.root / f"{captured['request_ref']}.json" + assert not native_path.exists() + assert transport.reconcile_request(path) == 1 + delivered = json.loads(path.read_text()) + assert delivered["status"] == "delivered" + assert delivered["deliveries"]["terminal"]["verified"] is True + assert len(provider.writes) == 1 and not native_path.exists() + assert store.list_sessions() == [] + with pytest.raises(ValueError, match="request journal unavailable"): + transport.core.record_delivery(captured["request_ref"], session_id=None, turn_id=None) + assert not native_path.exists() + monkeypatch.setattr(transport.core, "admit", admit) + assert transport.admit("notes-app", event)["status"] == "command_rejected" + assert not native_path.exists() and store.list_sessions() == [] + assert len(provider.writes) == 1 + finally: + runtime.close() + + @pytest.mark.parametrize("group", [False, True]) def test_completion_during_processing_receipt_returns_final_without_stale_draft(ordinary, monkeypatch, tmp_path, group): # noqa: F811 store, runtime, provider, transport = (connect_group if group else connect)(ordinary) diff --git a/tests/test_native_steward_private.py b/tests/test_native_steward_private.py index c4697fa787..ef12e320df 100644 --- a/tests/test_native_steward_private.py +++ b/tests/test_native_steward_private.py @@ -114,6 +114,26 @@ def test_personal_steward_uses_registered_portfolio_and_configured_inbox_root(st assert not (workspace / "ACTIVE_GOAL_STATE.md").exists() +def test_legacy_delivery_only_receipt_does_not_block_steward_conversation(steward): + store, runtime, provider, transport, _, capture, _ = steward + orphan = transport.core.root / ("f" * 24 + ".json") + orphan.parent.mkdir(parents=True, exist_ok=True) + orphan.write_text(json.dumps({"delivery_verified": True})) + before = orphan.read_bytes() + event = provider.event("steward-app", "after_legacy_receipt", "Check the authorized portfolio") + assert transport.admit("steward-app", event)["status"] == "durably_accepted" + row = next(r for r in transport.core.pending() if r.get("request_ref") == identity_ref( + transport.bindings.read()["bindings"][1]["provider_ref"], event["message_id"])) + assert finish(runtime, row)["status"] == "completed" + session = store.load_session(row["session_id"]) + assert transport.core.commission_evidence(session) == [] + selection = provider.event("notes-app", "select_after_legacy_receipt", "/project") + assert transport.admit("notes-app", selection)["status"] == "command_recorded" + assert orphan.read_bytes() == before + packets = [json.loads(line) for line in capture.read_text().splitlines()] + assert sum(p["method"] == "turn/start" for p in packets) == 1 + + def test_verified_empty_steward_is_not_missing_authorization_and_does_not_inherit(steward): store, runtime, provider, transport, binding, _, _ = steward transport.admit("steward-app", provider.event("steward-app", "empty", "What new work do you manage?"))