From 49af7743235b5fc61dbfd4ac08f5dd1ec2da7b9f Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Tue, 20 Oct 2026 02:50:30 +0800 Subject: [PATCH 1/4] fix(desktop): read original child Goals in the installed workspace Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../src-tauri/src/maintenance.rs | 13 +- .../src-tauri/src/services.rs | 26 +++ .../src-tauri/src/services_tests.rs | 5 + .../loopx-control-plane/static/boot.js | 7 + .../presentation/dashboard/src/data/status.ts | 1 + .../src/data/workspace-progressive-status.ts | 2 + .../personal-workspace/context-drawer.tsx | 7 +- .../src/features/personal-workspace/i18n.tsx | 4 +- .../personal-workspace-model.ts | 1 + .../personal-workspace-page.tsx | 10 +- .../dashboard/src/views/dashboard-page.tsx | 2 + .../native-app-goals/before.png | Bin 0 -> 129623 bytes .../native-app-goals/desktop.png | Bin 0 -> 130701 bytes .../native-app-goals/narrow.png | Bin 0 -> 56723 bytes docs/development/frontend-delivery.md | 40 +++++ .../desktop-recovery-diagnostics-test.mjs | 16 ++ loopx/chat_server.py | 4 + loopx/chat_status_api.py | 35 ++-- loopx/chat_workspace_directory.py | 12 +- .../control_plane/effect_runtime_handlers.ts | 1 + .../presentation/goal_source_links.ts | 27 +++ loopx/control_plane/status/goal_source.py | 154 ++++++++++++++++ loopx/presentation/explore_results_api.py | 17 +- loopx/presentation/goal_source_routing.py | 87 +++++++++ loopx/presentation/research_analysis_api.py | 31 +++- loopx/presentation/runtime_workspace.py | 4 +- .../goal_source_links.test.ts | 26 +++ .../presentation/test_linked_goal_sources.py | 167 ++++++++++++++++++ 28 files changed, 666 insertions(+), 33 deletions(-) create mode 100644 docs/development/assets/runtime-source-analysis/native-app-goals/before.png create mode 100644 docs/development/assets/runtime-source-analysis/native-app-goals/desktop.png create mode 100644 docs/development/assets/runtime-source-analysis/native-app-goals/narrow.png create mode 100644 loopx/control_plane/presentation/goal_source_links.ts create mode 100644 tests/control_plane_ts/goal_source_links.test.ts create mode 100644 tests/presentation/test_linked_goal_sources.py diff --git a/apps/desktop/loopx-control-plane/src-tauri/src/maintenance.rs b/apps/desktop/loopx-control-plane/src-tauri/src/maintenance.rs index 427d2191e7..1ef1fa472c 100644 --- a/apps/desktop/loopx-control-plane/src-tauri/src/maintenance.rs +++ b/apps/desktop/loopx-control-plane/src-tauri/src/maintenance.rs @@ -408,6 +408,7 @@ fn compose_environment( arch: &str, runtime_executable_found: bool, python3: (bool, Option), + node: (bool, Option), ) -> Value { json!({ "os_version": os_version, @@ -415,6 +416,8 @@ fn compose_environment( "runtime_executable_found": runtime_executable_found, "python3_found": python3.0, "python3_version": python3.1, + "node_found": node.0, + "node_version": node.1, }) } @@ -442,6 +445,7 @@ fn detect_environment() -> Value { std::env::consts::ARCH, runtime_executable_found, crate::services::python3_environment(), + crate::services::node_environment(), ) } @@ -1907,19 +1911,22 @@ mod tests { "aarch64", false, (true, Some("3.9.6".to_string())), + (false, None), ); assert_eq!(environment["os_version"], "26.5"); assert_eq!(environment["arch"], "aarch64"); assert_eq!(environment["runtime_executable_found"], false); assert_eq!(environment["python3_found"], true); assert_eq!(environment["python3_version"], "3.9.6"); + assert_eq!(environment["node_found"], false); + assert_eq!(environment["node_version"], Value::Null); // The fresh-Mac signature: no Homebrew/CLT python3 answers a version // probe, and the runtime executable has never been installed. - let fresh = compose_environment(None, "aarch64", false, (false, None)); + let fresh = compose_environment(None, "aarch64", false, (false, None), (false, None)); assert_eq!(fresh["os_version"], Value::Null); assert_eq!(fresh["python3_found"], false); assert_eq!(fresh["python3_version"], Value::Null); - // The block carries exactly the five diagnostic keys — no paths, + // The block carries only coarse diagnostic keys — no paths, // environment variables or free-form output can join it. let keys: Vec<&str> = environment .as_object() @@ -1931,6 +1938,8 @@ mod tests { keys, [ "arch", + "node_found", + "node_version", "os_version", "python3_found", "python3_version", diff --git a/apps/desktop/loopx-control-plane/src-tauri/src/services.rs b/apps/desktop/loopx-control-plane/src-tauri/src/services.rs index 62c8e68c46..4095ff5b54 100644 --- a/apps/desktop/loopx-control-plane/src-tauri/src/services.rs +++ b/apps/desktop/loopx-control-plane/src-tauri/src/services.rs @@ -873,6 +873,14 @@ fn runtime_search_path( paths.extend([ PathBuf::from("/opt/homebrew/bin"), PathBuf::from("/usr/local/bin"), + // Homebrew's supported LTS Node formulae are keg-only. Finder + // does not inherit the shell PATH that activates those runtimes. + // Use the same bounded search for the private installer and the + // services it starts; Core still qualifies the actual version. + PathBuf::from("/opt/homebrew/opt/node@24/bin"), + PathBuf::from("/usr/local/opt/node@24/bin"), + PathBuf::from("/opt/homebrew/opt/node@22/bin"), + PathBuf::from("/usr/local/opt/node@22/bin"), ]); } for path in inherited @@ -908,6 +916,24 @@ pub(crate) fn python3_environment() -> (bool, Option) { (found, version) } +pub(crate) fn node_environment() -> (bool, Option) { + let path = runtime_search_path(env::var_os("HOME"), env::var_os("PATH")); + let executable = resolve_executable_path("node", Some(path.as_os_str())); + let found = executable.is_some(); + let version = executable.and_then(|node| { + let mut probe = Command::new(node); + probe.arg("--version"); + timed_output(probe).filter(|output| output.status.success()).and_then(|output| { + let text = std::str::from_utf8(&output.stdout).ok()?.trim().strip_prefix('v')?; + let fields: Vec<_> = text.split('.').collect(); + (fields.len() == 3 && fields.iter().all(|field| + !field.is_empty() && field.bytes().all(|byte| byte.is_ascii_digit()))) + .then(|| text.to_owned()) + }) + }); + (found, version) +} + const VERSION_PROBE_TIMEOUT: Duration = Duration::from_secs(1); // Installation qualification boots Core, checks the TypeScript runtime and // hashes the installed package. It is not a version-banner query: a valid cold diff --git a/apps/desktop/loopx-control-plane/src-tauri/src/services_tests.rs b/apps/desktop/loopx-control-plane/src-tauri/src/services_tests.rs index e241bace6a..c8c01f2f64 100644 --- a/apps/desktop/loopx-control-plane/src-tauri/src/services_tests.rs +++ b/apps/desktop/loopx-control-plane/src-tauri/src/services_tests.rs @@ -124,6 +124,11 @@ fn finder_runtime_path_includes_tools_without_loading_shell_profiles() { .unwrap() ); assert!(paths.contains(&PathBuf::from("/usr/local/bin"))); + for prefix in ["/opt/homebrew", "/usr/local"] { + for version in ["24", "22"] { + assert!(paths.contains(&PathBuf::from(format!("{prefix}/opt/node@{version}/bin")))); + } + } assert!(paths.contains(&PathBuf::from("/sbin"))); let again = runtime_search_path(Some("/fixture/user".into()), Some(path.clone())); assert_eq!(again, path, "tool search must be idempotent"); diff --git a/apps/desktop/loopx-control-plane/static/boot.js b/apps/desktop/loopx-control-plane/static/boot.js index b40b0f05f5..3c7dbca071 100644 --- a/apps/desktop/loopx-control-plane/static/boot.js +++ b/apps/desktop/loopx-control-plane/static/boot.js @@ -6,6 +6,7 @@ const pageStarted = performance.now(); let lastTiming = null; let timingObservedAt = pageStarted; let bootState = null; +let observedEnvironment = null; function renderStartup(result) { const state = result?.state; bootState = state; @@ -125,6 +126,9 @@ function codeText(code, phase) { return "启动参数 LOOPX_BIN 固定了当前运行时。请通过该安装方式修复它,或移除、修正 LOOPX_BIN 后重新打开 App;清除记住的选择不会改变此参数。"; } if (typeof code === "string" && /^runtime_install_exit_(\d+|signal)$/.test(code)) { + if (code === "runtime_install_exit_1" && observedEnvironment?.node_found === false) { + return "安装程序退出(1);App 的启动环境未找到 Node.js。请启用受支持的 Node.js 后点击「修复当前版本」。"; + } // Exit 2 from install-local.sh is its "no usable Python 3.11+" gate; the // same exit can technically be a usage error, so the wording stays // probabilistic and points at the repair action. @@ -168,9 +172,12 @@ function safeEnvironment(result) { runtime_executable_found: flag(environment.runtime_executable_found), python3_found: flag(environment.python3_found), python3_version: text(environment.python3_version), + node_found: flag(environment.node_found), + node_version: text(environment.node_version), }; } function renderDiagnostics(result) { + observedEnvironment = safeEnvironment(result); const failure = result.last_failure ?? result.state; const text = JSON.stringify({ schema_version: "desktop_recovery_diagnostics_v2", diff --git a/apps/presentation/dashboard/src/data/status.ts b/apps/presentation/dashboard/src/data/status.ts index 3461e382a3..20218ddc0e 100644 --- a/apps/presentation/dashboard/src/data/status.ts +++ b/apps/presentation/dashboard/src/data/status.ts @@ -539,6 +539,7 @@ export const runRecordSchema = z.object({ }); export const runGoalSchema = z.object({ + source_access: z.object({namespace: z.string(), label: z.string(), read_only: z.literal(true)}).optional(), parent_goal_id: z.string().nullable().optional().catch(null), goal_objective: z.string().nullable().optional().catch(null), zcode_goal_eligible_agent_ids: z.array(z.string()).optional().default([]).catch([]), diff --git a/apps/presentation/dashboard/src/data/workspace-progressive-status.ts b/apps/presentation/dashboard/src/data/workspace-progressive-status.ts index 98a1fa2ca2..d20858cca1 100644 --- a/apps/presentation/dashboard/src/data/workspace-progressive-status.ts +++ b/apps/presentation/dashboard/src/data/workspace-progressive-status.ts @@ -17,6 +17,7 @@ const directorySchema = z.object({ goals: z.array(z.object({ id: z.string(), parent_goal_id: z.string().nullable().optional().catch(null), + source_access: z.object({namespace: z.string(), label: z.string(), read_only: z.literal(true)}).optional(), display_name: z.string(), activation_state: z.enum(["active", "stopped"]), registry_member: z.literal(true), @@ -68,6 +69,7 @@ export function reusableGoalSnapshots( const snapshot = previous.snapshots[goal.id]; if (!earlier || !snapshot || invalidated.has(goal.id)) return []; if (earlier.display_name !== goal.display_name + || earlier.source_access?.namespace !== goal.source_access?.namespace || earlier.parent_goal_id !== goal.parent_goal_id || earlier.activation_state !== goal.activation_state) return []; return [[goal.id, snapshot]]; diff --git a/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx b/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx index a983bb055a..eaa00f178f 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx @@ -318,6 +318,7 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention : t("drawer.goalDetails"); const goalId = selection.kind === "proposal" ? selection.item.goalId ?? "manager" : selection.item.goalId; + const taskReadable = !readOnly || goals.some(goal => goal.goalId === goalId && goal.sourceAccess); const contextLabel = selection.kind === "attention" ? selection.item.goalTitle ?? t("drawer.currentGoal") : selection.kind === "todo" ? selection.item.goalTitle : selection.kind === "run" ? selection.item.goalTitle @@ -642,7 +643,7 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention ) : selection.item.detailMode ? (

{t(selection.item.detailMode === "missing_current" ? "drawer.taskReadbackUnavailable" : "drawer.taskRequestOnly")}

- +
) : ( <> @@ -654,8 +655,8 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention {selection.item.priority ? {selection.item.priority} : null} {selection.item.taskClass === "advancement_task" ? t("drawer.taskAdvancement") : selection.item.taskClass ?? t("drawer.taskOrdinary")} - + {selection.item.status === "blocked" ?

{t("drawer.blockedReason")}

{selection.item.blockedReason ?? t("drawer.blockedReasonMissing")}

diff --git a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx index 06f9b50df0..94f4723b05 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx @@ -673,7 +673,7 @@ const en = { "header.managerOverview": "Overview", "header.managerView": "Manager view", "header.openGoalNavigation": "Open Goal navigation", - "header.readOnlySourceDescription": "{source} is displayed read-only through an SSH tunnel", + "header.readOnlySourceDescription": "Original records from {source}; execution remains on its source", "header.refresh": "Refresh status", "header.refreshDone": "Updated just now", "header.refreshFailed": "Refresh failed", @@ -2267,7 +2267,7 @@ const zhCN: Record = { "header.managerOverview": "总览", "header.managerView": "管家视图", "header.openGoalNavigation": "打开 Goal 导航", - "header.readOnlySourceDescription": "{source} 通过 SSH 隧道只读展示", + "header.readOnlySourceDescription": "显示 {source} 的原始记录;执行控制在原运行环境", "header.refresh": "刷新状态", "header.refreshDone": "刚刚更新", "header.refreshFailed": "刷新失败", diff --git a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-model.ts b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-model.ts index a9cc4b9705..926b3dc20e 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-model.ts +++ b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-model.ts @@ -162,6 +162,7 @@ export type WorkspaceGoalSubagentConfiguration = { }; export type WorkspaceGoal = { + sourceAccess?: {namespace: string; label: string; readOnly: true}; /** Registry organization in this status source; not Agent ownership or execution dependency. */ parentGoalId?: string | null; /** Bounded, safe text from this Goal's declared source document. */ diff --git a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-page.tsx b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-page.tsx index 5c789bf1a6..fd9c35c184 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-page.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/personal-workspace-page.tsx @@ -916,7 +916,7 @@ export function PersonalWorkspacePage({ managerRuntime, model, researchApi, - readOnly = false, + readOnly: sourceReadOnly = false, typedActionsRevision = 0, selectedAgentId: controlledAgentId, selectedAgentModelId, @@ -963,6 +963,8 @@ export function PersonalWorkspacePage({ }) { const { locale, t } = useWorkspaceI18n(); const [localGoalId, setLocalGoalId] = useState(controlledGoalId ?? null); + const sourceGoal = model.goals.find(goal => goal.goalId === (controlledGoalId === undefined ? localGoalId : controlledGoalId)); + const readOnly = sourceReadOnly || sourceGoal?.sourceAccess?.readOnly === true; const [localAgentId, setLocalAgentId] = useState(controlledAgentId ?? agents.find((agent) => agent.available)?.agentId ?? "codex"); const selectionScope = `${statusSourceControl?.activeSource.statusUrl ?? "/status.json"}:${controlledGoalId === undefined ? localGoalId : controlledGoalId}`; const runtimeSourceUnavailable = statusSourceControl?.activeSource.kind === "runtime" @@ -2733,7 +2735,7 @@ export function PersonalWorkspacePage({ selectedAgentModelReadback={selectedAgentModelReadback} selectedAgentReasoningEffort={selectedAgentReasoningEffort} refreshState={refreshState} - readOnlySourceLabel={readOnly ? statusSourceControl?.activeSource.label : undefined} + readOnlySourceLabel={readOnly ? sourceGoal?.sourceAccess?.label ?? statusSourceControl?.activeSource.label : undefined} selectedGoal={runtimeSourceUnavailable ? null : selectedGoal} selectedGoalTab={selectedGoalTab} goalLifecycleBusy={selectedGoal ? lifecycleBusyGoalIds.has(selectedGoal.goalId) : false} @@ -2804,7 +2806,7 @@ export function PersonalWorkspacePage({ onOpenDetails={() => setSelection({ kind: "goal", item: selectedGoal })} onSelect={setSelection} onView={setSelectedGoalTab} selectedTodoId={drawerSelection?.kind === "todo" ? drawerSelection.item.todoId : null} board={taskBoard(!settingsOpen && selectedGoalTab === "overview")} results={goalResults(!settingsOpen && selectedGoalTab === "overview")} - historyRefreshRevision={historyRefreshRevision} readSourceUrl={statusSourceControl?.activeSource.kind === "runtime" && statusSourceControl.connectionState !== "loading" && statusSourceControl.connectionState !== "error" ? statusSourceControl.activeSource.statusUrl : undefined} proposals={proposals} onPreview={createPreview} />, + historyRefreshRevision={historyRefreshRevision} readSourceUrl={sourceGoal?.sourceAccess ? `/status.json?source_namespace=${sourceGoal.sourceAccess.namespace}` : statusSourceControl?.activeSource.kind === "runtime" && statusSourceControl.connectionState !== "loading" && statusSourceControl.connectionState !== "error" ? statusSourceControl.activeSource.statusUrl : undefined} proposals={proposals} onPreview={createPreview} />, tasks: taskBoard(!settingsOpen && selectedGoalTab === "tasks"), files: goalResults(selectedGoalTab === "files" && !settingsOpen), chat: agentWorkActive ? {locale === "zh-CN" ? "消息处理" : "Message delivery"}{loopxMessageReceipt} : null} {readOnly ? ( -
{t("source.readOnlyNoticeTitle")}{t("source.readOnlyNoticeDescription")}
+ sourceGoal?.sourceAccess ? null :
{t("source.readOnlyNoticeTitle")}{t("source.readOnlyNoticeDescription")}
) : <> {!selectedGoal && !managerChatOpen && managerConversationReceiptVisible && managerMessages.length ? ( row.goal.id === requestedGoalId)?.goal.source_access?.read_only === true || Boolean(rootGoalId && !rows.some(row => row.goal.id === rootGoalId)); const remoteGoalLifecycleHost = statusSourceControl.activeSource.kind === "ssh_tunnel" ? statusSourceControl.activeSource.hostAlias diff --git a/docs/development/assets/runtime-source-analysis/native-app-goals/before.png b/docs/development/assets/runtime-source-analysis/native-app-goals/before.png new file mode 100644 index 0000000000000000000000000000000000000000..054eb379a2567ef3a3e8368227eca26706da4d02 GIT binary patch literal 129623 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/development/assets/runtime-source-analysis/native-app-goals/desktop.png b/docs/development/assets/runtime-source-analysis/native-app-goals/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..739789a01f1ad9c343d902fe59a0b67be56b7ddd GIT binary patch literal 130701 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%0DVS2AE-fS3?|cQ}KKnlRx*^W! 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ːEuv8Ekb}us84`ymQl^DTdEmF+ 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

{t(selection.item.detailMode === "missing_current" ? "drawer.taskReadbackUnavailable" : "drawer.taskRequestOnly")}

- +
) : ( <> @@ -655,7 +656,7 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention {selection.item.priority ? {selection.item.priority} : null} {selection.item.taskClass === "advancement_task" ? t("drawer.taskAdvancement") : selection.item.taskClass ?? t("drawer.taskOrdinary")} - {selection.item.status === "blocked" ?

{t("drawer.blockedReason")}

diff --git a/apps/presentation/dashboard/src/features/personal-workspace/task-request.tsx b/apps/presentation/dashboard/src/features/personal-workspace/task-request.tsx index 7812e5b482..86654a5877 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/task-request.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/task-request.tsx @@ -11,11 +11,11 @@ type RequestRead = {identity: string} & ( | {phase: "ready"; detail: Awaited>} ); -export function TaskRequest({todo, local, onSave}: {todo: WorkspaceTodo; local: boolean; +export function TaskRequest({todo, local, sourceNamespace, onSave}: {todo: WorkspaceTodo; local: boolean; sourceNamespace?: string; onSave?: PersonalWorkspaceCallbacks["onSaveTodoRequirements"]}) { const {t} = useWorkspaceI18n(); const sourceId = todo.sourceTodoId; - const identity = JSON.stringify([local, todo.goalId, sourceId, todo.requestText, todo.status]); + const identity = JSON.stringify([local, sourceNamespace, todo.goalId, sourceId, todo.requestText, todo.status]); const [read, setRead] = useState(null); const [retry, setRetry] = useState(0); const [draft, setDraft] = useState<{text: string; basis: TodoUpdateSourceBasis} | null>(null); @@ -31,7 +31,7 @@ export function TaskRequest({todo, local, onSave}: {todo: WorkspaceTodo; local: if (!local || !sourceId) return; const controller = new AbortController(); setRead({identity, phase: "loading"}); - void readTodoRequest(todo.goalId, sourceId, controller.signal).then(detail => { + void readTodoRequest(todo.goalId, sourceId, controller.signal, sourceNamespace).then(detail => { if (controller.signal.aborted) return; setRead({identity, phase: "ready", detail}); if (rebaseRef.current && detail.review_basis) { @@ -45,7 +45,7 @@ export function TaskRequest({todo, local, onSave}: {todo: WorkspaceTodo; local: if (!controller.signal.aborted) setRead({identity, phase: "error"}); }); return () => controller.abort(); - }, [identity, local, retry, todo.goalId, sourceId]); + }, [identity, local, retry, todo.goalId, sourceId, sourceNamespace]); const current = local && read?.identity === identity ? read : null; const detail = current?.phase === "ready" ? current.detail : null; const editable = local && onSave && todo.claimedBy && sourceId && detail?.review_basis diff --git a/loopx/presentation/goal_source_routing.py b/loopx/presentation/goal_source_routing.py index 1df22026b2..62c668192b 100644 --- a/loopx/presentation/goal_source_routing.py +++ b/loopx/presentation/goal_source_routing.py @@ -34,13 +34,19 @@ def _todo_detail(self): values = query.get("goal_id", []) resolved = linked_goal_source(self.server, values[0]) if len(values) == 1 else None if resolved is None: + if "source_namespace" in query: + self._send_error("Source identity changed; refresh the Goal.", status=409) + return return super()._todo_detail() if not self._require_loopback_origin(): return - if set(query) != {"goal_id", "todo_id"} or len(query["todo_id"]) != 1: + if set(query) != {"goal_id", "todo_id", "source_namespace"} or len(query["todo_id"]) != 1: self._send_error("Choose one original Goal and Task.", status=400) return row, reader = resolved + if query["source_namespace"] != [reader.source.namespace]: + self._send_error("Source identity changed; refresh the Goal.", status=409) + return try: goal_id, todo_id = values[0], query["todo_id"][0] item = reader.source.read_todo(goal_id, todo_id).get("todo") diff --git a/tests/presentation/test_linked_goal_sources.py b/tests/presentation/test_linked_goal_sources.py index 218bbdb457..b4ba082974 100644 --- a/tests/presentation/test_linked_goal_sources.py +++ b/tests/presentation/test_linked_goal_sources.py @@ -76,7 +76,8 @@ def test_app_parent_directory_reads_original_tasks_history_and_explicit_analysis actual = snapshot['run_history']['goals'][0] assert actual['id'] == 'solver-goal' and actual['parent_goal_id'] == 'research-owner' assert actual['native_parent_goal_id'] is None - task = request('/api/chat/todo/detail?goal_id=solver-goal&todo_id=todo_original') + task = request('/api/chat/todo/detail?' + urlencode({ + 'goal_id': 'solver-goal', 'todo_id': 'todo_original', 'source_namespace': namespace})) assert task['text'] == 'Check the original question against its evidence' assert 'review_basis' not in task history = request('/api/chat/explore-results?' + urlencode({ @@ -165,3 +166,33 @@ def test_app_source_links_reject_other_origins_unknown_parents_and_identity_coll assert host.read_bytes() == bound and not w['count'].exists() with pytest.raises(HTTPError): request('/api/chat/research-analysis?goal_id=solver-goal&source_namespace=' + 'f' * 64) + + +def test_original_task_detail_cannot_follow_a_replaced_source(workspace): + raw, request, _ = native_source(workspace) + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + old_namespace = GoalSource.parse(raw).namespace + endpoint = '/api/chat/todo/detail?' + query = {'goal_id': 'solver-goal', 'todo_id': 'todo_original'} + with pytest.raises(HTTPError): + request(endpoint + urlencode(query)) + old_url = endpoint + urlencode({**query, 'source_namespace': old_namespace}) + assert request(old_url)['source_access']['namespace'] == old_namespace + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', + 'goal_id': 'solver-goal', 'source_namespace': old_namespace}) + with pytest.raises(HTTPError) as removed: + request(old_url) + assert removed.value.code == 409 + replacement = copy.deepcopy(raw) + replacement['id'] = 'replacement' + state = Path(raw['registry']).parent / 'active.md' + state.write_text(state.read_text().replace('Check the original question against its evidence', + 'Check the replacement question against its own evidence')) + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': replacement}) + with pytest.raises(HTTPError) as replaced: + request(old_url) + assert replaced.value.code == 409 + namespace = GoalSource.parse(replacement).namespace + detail = request(endpoint + urlencode({**query, 'source_namespace': namespace})) + assert detail['source_access']['namespace'] == namespace + assert detail['text'] == 'Check the replacement question against its own evidence' From 7c36c23d47a971c2bb89edbf265e2d27a78aefac Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Tue, 20 Oct 2026 03:17:19 +0800 Subject: [PATCH 3/4] fix(analysis): retain scoped cancellation after source disconnect Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- loopx/control_plane/status/goal_source.py | 5 +-- loopx/presentation/research_analysis_api.py | 12 ++++--- loopx/presentation/runtime_workspace.py | 2 +- .../presentation/test_linked_goal_sources.py | 36 +++++++++++++++++++ 4 files changed, 48 insertions(+), 7 deletions(-) diff --git a/loopx/control_plane/status/goal_source.py b/loopx/control_plane/status/goal_source.py index 79efaad6d3..f1ef298529 100644 --- a/loopx/control_plane/status/goal_source.py +++ b/loopx/control_plane/status/goal_source.py @@ -366,14 +366,15 @@ def status(self, goal_id, registry=None): source_goal.update({key: row[key] for key in ("parent_goal_id", "source_access")}) return status - def analysis_scope(self, goal_id, *, namespace, fresh): + def analysis_scope(self, goal_id, *, namespace, fresh, verify_source=True): resolved = self.resolve(goal_id) if resolved is None: return None row, reader = resolved if namespace != reader.source.namespace: raise SourceScopeError("Analysis source identity changed") - reader.registered_status(goal_id, fresh=fresh) + if verify_source: + reader.registered_status(goal_id, fresh=fresh) return self.runtime_root / "goal-sources" / row["source_access"]["namespace"] def update(self, *, parent_goal_id, raw_source): diff --git a/loopx/presentation/research_analysis_api.py b/loopx/presentation/research_analysis_api.py index b1674915c7..118e422f4d 100644 --- a/loopx/presentation/research_analysis_api.py +++ b/loopx/presentation/research_analysis_api.py @@ -34,7 +34,7 @@ def _research_analysis_verify_source_goal(self, runtime, goal_id, pack_id, pack= 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): + def _research_analysis_scope(self, goal_id, *, cancel=False): validate_goal_id(goal_id) selected = getattr(self.server, "selected_goal_id", None) if selected and selected != goal_id: @@ -49,7 +49,10 @@ def _research_analysis_scope(self, goal_id): if len(values) != 1: raise ValueError("Keep the original source identity") try: - return catalog.analysis_scope(goal_id, namespace=values[0], fresh=self.command == "POST") + # Stopping this host's existing job needs its pinned local + # scope, not a successful round-trip to the solver host. + return catalog.analysis_scope(goal_id, namespace=values[0], fresh=self.command == "POST", + verify_source=not cancel) except (OSError, subprocess.SubprocessError): self._send_error("The original Goal is unavailable; refresh to retry.", status=503) return None @@ -109,10 +112,11 @@ def _research_analysis_write(self): if not cancel and type(body.get("retry", False)) is not bool: raise ValueError("Retry must be an explicit boolean") if getattr(self.server, "analysis_source_namespace", None) is None: - if linked_goal_source(self.server, body["goal_id"]) is not None: + if (linked_goal_source(self.server, body["goal_id"]) is not None + or "source_namespace" in parse_qs(urlparse(self.path).query, keep_blank_values=True)): if self._research_analysis_query(body["goal_id"]): raise ValueError("Only the pinned source selector is accepted") - runtime = self._research_analysis_scope(body["goal_id"]) + runtime = self._research_analysis_scope(body["goal_id"], cancel=cancel) if runtime is None: return args = dict(runtime_root=runtime, owner_goal_id=body["goal_id"], diff --git a/loopx/presentation/runtime_workspace.py b/loopx/presentation/runtime_workspace.py index 64c0d61bbc..e9c3bed7f3 100644 --- a/loopx/presentation/runtime_workspace.py +++ b/loopx/presentation/runtime_workspace.py @@ -103,7 +103,7 @@ def _read_json(self, *, max_bytes): raise ValueError("Invalid analysis request size") return parse_strict_json_object(self.rfile.read(length)) - def _research_analysis_scope(self, goal_id): + def _research_analysis_scope(self, goal_id, *, cancel=False): # Check current access and actual registered membership before local # pack reads or provider effects. No host registry entry is created. try: diff --git a/tests/presentation/test_linked_goal_sources.py b/tests/presentation/test_linked_goal_sources.py index b4ba082974..25126055b0 100644 --- a/tests/presentation/test_linked_goal_sources.py +++ b/tests/presentation/test_linked_goal_sources.py @@ -4,10 +4,12 @@ solver, model account or installed App is changed by this regression suite. """ import copy +from concurrent.futures import ThreadPoolExecutor import json import os from pathlib import Path import sys +import time from urllib.error import HTTPError from urllib.parse import urlencode from urllib.request import Request, urlopen @@ -196,3 +198,37 @@ def test_original_task_detail_cannot_follow_a_replaced_source(workspace): detail = request(endpoint + urlencode({**query, 'source_namespace': namespace})) assert detail['source_access']['namespace'] == namespace assert detail['text'] == 'Check the replacement question against its own evidence' + + +def test_analysis_rejects_a_namespace_on_an_unlinked_local_goal(workspace): + _, request, _ = native_source(workspace) + with pytest.raises(HTTPError): + request('/api/chat/research-analysis?source_namespace=' + 'f' * 64, workspace['operation']) + assert not workspace['count'].exists() + + +def test_app_can_cancel_its_local_analysis_while_original_source_is_offline(workspace): + w = workspace + raw, request, before = native_source(w) + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + namespace = GoalSource.parse(raw).namespace + pack = register_pack(runtime_root=w['server'].runtime_root / 'goal-sources' / namespace, + owner_goal_id='solver-goal', input_path=w['tmp_path'] / 'input.json', source_root=w['sources'], + title='Fixed original source') + operation = dict(goal_id='solver-goal', pack_id=pack['pack_id'], analysis_key=pack['analysis_key']) + endpoint = '/api/chat/research-analysis?source_namespace=' + namespace + with ThreadPoolExecutor(max_workers=1) as pool: + running = pool.submit(request, endpoint, operation) + until = time.monotonic() + 12 + while not w['count'].exists() and time.monotonic() < until: + time.sleep(.05) + assert w['count'].exists() + source_registry = Path(raw['registry']) + source_registry.unlink() + try: + cancelled = request('/api/chat/research-analysis/cancel?source_namespace=' + namespace, operation) + assert cancelled['job']['cancel_requested'] + assert running.result(timeout=8)['job']['status'] == 'cancelled' + finally: + source_registry.write_bytes(before[source_registry]) + assert len(w['count'].read_text().splitlines()) == 1 From 89d87ac0c31cf2f05e4f8c637a862c9113f4a065 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Tue, 20 Oct 2026 03:35:25 +0800 Subject: [PATCH 4/4] fix(workspace): isolate retained source links after parent removal Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../presentation/goal_source_links.ts | 15 ++++--- loopx/control_plane/status/goal_source.py | 12 ++++-- .../goal_source_links.test.ts | 15 +++++-- .../presentation/test_linked_goal_sources.py | 39 ++++++++++++++++++- 4 files changed, 69 insertions(+), 12 deletions(-) diff --git a/loopx/control_plane/presentation/goal_source_links.ts b/loopx/control_plane/presentation/goal_source_links.ts index 3dd1bb25e7..1f35d5a1ae 100644 --- a/loopx/control_plane/presentation/goal_source_links.ts +++ b/loopx/control_plane/presentation/goal_source_links.ts @@ -8,20 +8,25 @@ export function projectGoalSourceLinks(input: JsonObject): JsonObject { } const localIds = new Set(input.local_goal_ids.map(id => requireNonEmptyString(id, "local Goal"))); const seen = new Set(); - const goals = input.links.map(value => { + const goals = input.links.flatMap(value => { const link = requireJsonObject(value, "source link"); const goalId = requireNonEmptyString(link.goal_id, "source Goal"); const parent = requireNonEmptyString(link.parent_goal_id, "parent Goal"); const namespace = requireNonEmptyString(link.namespace, "source namespace"); const label = requireNonEmptyString(link.label, "source label"); - if (!localIds.has(parent) || localIds.has(goalId) || seen.has(goalId) - || !/^[a-f0-9]{64}$/.test(namespace)) { + if (!/^[a-f0-9]{64}$/.test(namespace)) { + throw new Error("Invalid source identity"); + } + // Parent lifecycle is owned elsewhere. A retained reference must not + // make unrelated local/source Goals unreadable after its parent leaves. + if (!localIds.has(parent) || localIds.has(goalId)) return []; + if (seen.has(goalId)) { throw new Error("Source Goals need an existing local parent and an unambiguous original identity"); } seen.add(goalId); - return {id: goalId, parent_goal_id: parent, display_name: label, + return [{id: goalId, parent_goal_id: parent, display_name: label, registry_member: true, activation_state: "active", - source_access: {namespace, label, read_only: true}}; + source_access: {namespace, label, read_only: true}}]; }); return {goals}; } diff --git a/loopx/control_plane/status/goal_source.py b/loopx/control_plane/status/goal_source.py index f1ef298529..0dec70150e 100644 --- a/loopx/control_plane/status/goal_source.py +++ b/loopx/control_plane/status/goal_source.py @@ -394,8 +394,15 @@ def proposed(registry): links.append(link) return links + def admitted(registry): + links = proposed(registry) + rows = linked_source_goals({**registry, "goal_source_links": links}) + if not any(row["id"] == source.goal_id for row in rows): + raise SourceScopeError("Choose an existing local parent") + return links + before = load_registry(self.registry_path) - linked_source_goals({**before, "goal_source_links": proposed(before)}) + admitted(before) # Qualify original membership after metadata admission, before writing. reader = GoalSourceReader(source, history_projector=lambda rows, **_: rows) rows = reader.goals(source.goal_id, fresh=True)["items"] @@ -405,8 +412,7 @@ def proposed(registry): raise SourceScopeError("Choose a registered original Goal") def apply(registry): - registry["goal_source_links"] = proposed(registry) - linked_source_goals(registry) + registry["goal_source_links"] = admitted(registry) mutate_project_registry(self.registry_path, operation="goal_source_links", reducer=apply) return {"ok": True, "goals": linked_source_goals(load_registry(self.registry_path))} diff --git a/tests/control_plane_ts/goal_source_links.test.ts b/tests/control_plane_ts/goal_source_links.test.ts index 2cd21a1b26..a2957cd618 100644 --- a/tests/control_plane_ts/goal_source_links.test.ts +++ b/tests/control_plane_ts/goal_source_links.test.ts @@ -12,15 +12,24 @@ test('an existing source Goal keeps its native id under the local parent', () => source_access: {label: 'Original experiment', namespace: 'a'.repeat(64), read_only: true}}]); }); -test('unknown parents, local collisions and ambiguous original ids are refused', () => { +test('ambiguous original ids and invalid namespaces are refused', () => { for (const input of [ - {local_goal_ids: [], links: [link()]}, - {local_goal_ids: ['research-parent', 'original-solver'], links: [link()]}, {local_goal_ids: ['research-parent'], links: [link(), {...link(), namespace: 'b'.repeat(64)}]}, {local_goal_ids: ['research-parent'], links: [{...link(), namespace: 'unverified'}]}, ]) assert.throws(() => projectGoalSourceLinks(input)); }); +test('a removed parent hides only its retained reference', () => { + const other = {...link(), goal_id: 'other-solver', parent_goal_id: 'other-parent', namespace: 'b'.repeat(64)}; + assert.deepEqual(projectGoalSourceLinks({local_goal_ids: ['other-parent'], links: [link(), other]}).goals, + projectGoalSourceLinks({local_goal_ids: ['other-parent'], links: [other]}).goals); +}); + +test('a native local Goal takes precedence over a retained source reference', () => { + assert.deepEqual(projectGoalSourceLinks({local_goal_ids: ['research-parent', 'original-solver'], + links: [link()]}), {goals: []}); +}); + test('the empty catalog preserves the local-only directory', () => { assert.deepEqual(projectGoalSourceLinks({local_goal_ids: ['research-parent'], links: []}), {goals: []}); }); diff --git a/tests/presentation/test_linked_goal_sources.py b/tests/presentation/test_linked_goal_sources.py index 25126055b0..a6f23f44f3 100644 --- a/tests/presentation/test_linked_goal_sources.py +++ b/tests/presentation/test_linked_goal_sources.py @@ -155,7 +155,9 @@ def test_app_source_links_reject_other_origins_unknown_parents_and_identity_coll host = w['server'].registry_path before = host.read_bytes() for body, origin in [({'parent_goal_id': 'research-owner', 'source': raw}, 'https://unrelated.example'), - ({'parent_goal_id': 'absent', 'source': raw}, None)]: + ({'parent_goal_id': 'absent', 'source': raw}, None), + ({'parent_goal_id': 'research-owner', 'source': { + **raw, 'scope': {'goal_id': 'research-owner'}}}, None)]: with pytest.raises(HTTPError): request('/api/chat/goal-sources', body, origin) assert host.read_bytes() == before @@ -232,3 +234,38 @@ def test_app_can_cancel_its_local_analysis_while_original_source_is_offline(work finally: source_registry.write_bytes(before[source_registry]) assert len(w['count'].read_text().splitlines()) == 1 + + +def test_removed_parent_does_not_poison_other_local_or_source_goals(workspace): + from loopx.control_plane.projects.registry_codec import mutate_project_registry + + w = workspace + raw, request, _ = native_source(w) + source_registry = Path(raw['registry']) + registry = json.loads(source_registry.read_text()) + (source_registry.parent / 'other.md').write_bytes((source_registry.parent / 'active.md').read_bytes()) + registry['goals'].append({**registry['goals'][0], 'id': 'other-solver', 'state_file': 'other.md'}) + source_registry.write_text(json.dumps(registry)) + other = {**raw, 'id': 'other-source', 'scope': {'goal_id': 'other-solver'}} + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + request('/api/chat/goal-sources', {'parent_goal_id': 'other-owner', 'source': other}) + before = source_registry.read_bytes() + # Exercise the registry owner's committed removal, never a source solver write. + mutate_project_registry(w['server'].registry_path, operation='fixture_parent_removal', + reducer=lambda data: data.update(goals=[{**g, 'domain': 'source-read'} + for g in data['goals'] if g['id'] != 'research-owner'])) + directory = request('/status.json?view=workspace-directory') + assert {goal['id'] for goal in directory['goals']} == {'other-owner', 'other-solver'} + local = request('/status.json?goal_id=other-owner') + assert [goal['id'] for goal in local['run_history']['goals']] == ['other-owner'] + assert request('/status.json?goal_id=other-solver')['run_history']['goals'][0]['id'] == 'other-solver' + assert len(request('/api/chat/goal-sources')['goals']) == 1 + retained = json.loads(w['server'].registry_path.read_text()) + assert len(retained['goal_source_links']) == 2 + with pytest.raises(HTTPError): + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + assert json.loads(w['server'].registry_path.read_text()) == retained + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'goal_id': 'solver-goal', + 'source_namespace': GoalSource.parse(raw).namespace}) + assert len(json.loads(w['server'].registry_path.read_text())['goal_source_links']) == 1 + assert source_registry.read_bytes() == before and not w['count'].exists()

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 literal 0 HcmV?d00001 diff --git a/docs/development/frontend-delivery.md b/docs/development/frontend-delivery.md index efc619a005..df823c236c 100644 --- a/docs/development/frontend-delivery.md +++ b/docs/development/frontend-delivery.md @@ -90,6 +90,46 @@ log read; no lower CPU, process or IO cost is implied. Local host/container readback and SSH command composition are separate validation boundaries; a composed command test does not prove a live remote host/container journey. +### Native App source Goals + +A prepared reader or a separately served workspace is an access adapter. It +does not complete a request to use the installed LoopX App. For that request, +the App's normal Chat service must discover the original Goals through its +persisted directory, keep them beneath the requested parent, and use the same +origin for status, native Task/history reads and explicit analysis. A browser +URL, local-storage source switch or empty local analysis Goal is not a substitute. +Qualify the running installed App and service identities, parent-to-child +navigation, original evidence, analysis readback, source failure and reopening. +Keep backend, browser-renderer and native WebView evidence distinct. + +The registry's `goal_source_links` contains only owner-configured references: +`parent_goal_id` plus the existing explicit source object above, scoped to one +original Goal. It creates no execution Goal, state document, worker or copied +registry entry. The TypeScript presentation owner validates the local parent +and unambiguous original identity; the existing source reader performs IO. +`POST /api/chat/goal-sources` admits that connection through the normal loopback +owner boundary after verifying original membership; `GET` reads safe descriptors. +The same POST removes a link when given `parent_goal_id`, `goal_id` and its +current `source_namespace`; removal preserves the original Goal and local +analysis artifacts and refuses a stale physical identity. +An Agent prepares the connection within the owner's authority. Do not require +the owner to discover runtime paths, write a manifest or copy a tunnel command. +Links survive ordinary registry synchronization and App restart. Ambiguous Goal +ids, unknown parents and source replacement are refused instead of borrowing +another Goal's state. Native execution/configuration remains on the original +runtime; the local App does not acquire those writes through a display link. + +Each linked Goal carries `source_access` in the workspace projection. Its +original Goal id, tasks, explicit graph edges and native measurements remain +intact; the local link owns only parent organization. Source identity pins +history and analysis requests. First-layer reads invoke no model. Optional +second-layer artifacts use the existing toolkit store beneath the local +runtime's `goal-sources/` and remain bound to that original +Goal. Every model start/retry revalidates original membership without the display +cache. Source loss must stay local to the affected Goal and must not launch a +model or strand the rest of the App. Native liveness, causal value and missing +relations cannot be supplied by the local parent or an analysis result. + ## Task-first delivery / 从用户任务开始 Use the existing task/PR delivery brief, not a second checklist or approval form. diff --git a/examples/desktop-recovery-diagnostics-test.mjs b/examples/desktop-recovery-diagnostics-test.mjs index 339707ff24..48f097f417 100644 --- a/examples/desktop-recovery-diagnostics-test.mjs +++ b/examples/desktop-recovery-diagnostics-test.mjs @@ -67,6 +67,22 @@ test('legacy pairing state reaches diagnostics without private detail', () => { assert.ok(!JSON.stringify(value).includes('PRIVATE')); }); +test('missing Node is diagnosed from observation, not inferred from every exit 1', () => { + const {context, elements} = page(); + context.packet = {state: {phase: 'error', details: {code: 'runtime_install_exit_1'}}, + environment: {node_found: false, node_version: null, path: 'PRIVATE'}}; + runInNewContext('renderDiagnostics(packet); render(packet.state)', context); + assert.match(elements.get('#update-status').textContent, /Node.js/); + assert.equal(JSON.parse(elements.get('#diagnostics').value).environment.node_found, false); + assert.ok(!elements.get('#diagnostics').value.includes('PRIVATE')); + context.packet.environment = {node_found: true, node_version: '24.21.0'}; + runInNewContext('renderDiagnostics(packet); render(packet.state)', context); + assert.doesNotMatch(elements.get('#update-status').textContent, /未找到 Node/); + delete context.packet.environment; + runInNewContext('renderDiagnostics(packet); render(packet.state)', context); + assert.doesNotMatch(elements.get('#update-status').textContent, /未找到 Node/); +}); + test('terminal runtime identity failure stops waiting and opens recovery immediately', () => { const {context, elements} = page(); const packet = {state:{phase:'runtime_required',details:{code:'runtime_identity_unavailable',bundled_repair_available:false}}}; diff --git a/loopx/chat_server.py b/loopx/chat_server.py index a7a5399df1..be6029184f 100644 --- a/loopx/chat_server.py +++ b/loopx/chat_server.py @@ -101,6 +101,7 @@ from .chat_completed_todos import CompletedTodoPages, CompletedTodoRequestMixin from .presentation.explore_results_api import ExploreResultsRequestMixin from .presentation.research_analysis_api import RESEARCH_ANALYSIS_PATH, ResearchAnalysisRequestMixin +from .presentation.goal_source_routing import GOAL_SOURCE_LINKS_PATH, GoalSourceRequestMixin from .chat_todo_detail import TodoDetailRequestMixin from .kiro_cli_goal_mode import KIRO_CLI_BIN from .paths import resolve_runtime_root @@ -494,6 +495,7 @@ def server_close(self) -> None: class ChatRequestHandler( + GoalSourceRequestMixin, GoalAcceptanceRequestMixin, ZCodeGoalRequestMixin, PrivateConversationRequestMixin, @@ -1599,6 +1601,7 @@ def do_GET(self) -> None: } ) get_dispatch: dict[str, Callable[[], None]] = { + GOAL_SOURCE_LINKS_PATH: self._goal_source_links, "/api/chat/todo/detail": self._todo_detail, "/api/chat/completed-todos": self._completed_todos, "/api/chat/goal-results": self._goal_results, @@ -1652,6 +1655,7 @@ def do_POST(self) -> None: if self._dispatch_zcode_goal(path, apply=True): return post_dispatch: dict[str, Callable[[], None]] = { + GOAL_SOURCE_LINKS_PATH: self._goal_source_links, RESEARCH_ANALYSIS_PATH: self._research_analysis_write, RESEARCH_ANALYSIS_PATH + "/cancel": self._research_analysis_write, CHAT_SESSIONS_PATH: self._create_session, diff --git a/loopx/chat_status_api.py b/loopx/chat_status_api.py index 9402f41fe7..5893a083b0 100644 --- a/loopx/chat_status_api.py +++ b/loopx/chat_status_api.py @@ -41,7 +41,6 @@ from .feedback import validate_goal_id from .history import load_registry from .control_plane.projects.registry_codec import load_project_registry -from .registry import registry_goals from .status import collect_status from .status_server import ( DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH, @@ -197,19 +196,16 @@ def _status(self, *, delivery_review: bool = False) -> None: ) return try: + registry = {} if views is not None or requested_goals is not None or delivery_review: # Discovery reads only metadata. Full status/runtime reads keep # their existing lifecycle-only profile refusal. registry = (_discovery_registry(self.server.registry_path) if views == ["workspace-directory"] else load_registry(self.server.registry_path)) - if goal_id and goal_id not in { - str(g.get("id")) for g in registry_goals(registry) - }: + directory = workspace_goal_directory(registry, selected_goal_id=goal_id) + if goal_id and not directory["goals"]: self._send_error("Goal is no longer registered.", status=404) return - directory = workspace_goal_directory( - registry, selected_goal_id=goal_id - ) if views == ["workspace-directory"]: directory["contract"] = _discovery_contract(self.server.registry_path) # Discovery stays metadata-only: redact with the roots this @@ -227,7 +223,15 @@ def _status(self, *, delivery_review: bool = False) -> None: ) self._send_json(directory) return - projection = collect_status( + linked = None + if goal_id and registry.get("goal_source_links"): + from .presentation.goal_source_routing import goal_source_catalog + catalog = goal_source_catalog(self.server) + if delivery_review and catalog.resolve(goal_id, registry): + self._send_error("Execution review belongs to the original Goal runtime.", status=403) + return + linked = catalog.status(goal_id, registry) + projection = linked if linked is not None else collect_status( registry_path=self.server.registry_path, # The Chat service already starts on an absent registry as an # empty workspace (serve_chat); its status reports the same @@ -265,13 +269,14 @@ def _status(self, *, delivery_review: bool = False) -> None: "presentation_surfaces_url": DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH, "presentation_detail_url": DEFAULT_EXTENSION_PROJECTION_PATH, } - attach_host_thread_activity( - projection, observers=codex_thread_observers() - ) - attach_host_delivery_windows( - projection, - expectations=codex_delivery_expectations, - ) + if linked is None: + attach_host_thread_activity( + projection, observers=codex_thread_observers() + ) + attach_host_delivery_windows( + projection, + expectations=codex_delivery_expectations, + ) if delivery_review: if projection.get("ok") is not True: self._send_error("Delivery review sources are unavailable.", status=503) diff --git a/loopx/chat_workspace_directory.py b/loopx/chat_workspace_directory.py index 74358ba6f9..b6aa741f6d 100644 --- a/loopx/chat_workspace_directory.py +++ b/loopx/chat_workspace_directory.py @@ -3,6 +3,8 @@ from __future__ import annotations from typing import Any +import hashlib +import json from .chat import redact_local_paths from .control_plane.goals.activation import goal_activation_state @@ -31,9 +33,17 @@ def workspace_goal_directory( "registry_member": True, } ) + links = registry.get("goal_source_links", []) + if links: + from .control_plane.status.goal_source import linked_source_goals + goals.extend(goal for goal in linked_source_goals(registry) + if not selected_goal_id or goal["id"] == selected_goal_id) + revision = registry_activation_revision(registry) + if links: + revision += ":" + hashlib.sha256(json.dumps(links, sort_keys=True).encode()).hexdigest()[:24] return { "ok": True, "schema_version": "loopx_workspace_directory_v1", - "registry_revision": registry_activation_revision(registry), + "registry_revision": revision, "goals": goals, } diff --git a/loopx/control_plane/effect_runtime_handlers.ts b/loopx/control_plane/effect_runtime_handlers.ts index 71edd1cc47..67e3e48253 100644 --- a/loopx/control_plane/effect_runtime_handlers.ts +++ b/loopx/control_plane/effect_runtime_handlers.ts @@ -465,6 +465,7 @@ export function createEffectRuntimeHandlers( ["presentation.decision_notice.project", lazyHandler(() => import("./presentation/decision_notice.ts"), ({projectDecisionNotice}) => projectDecisionNotice)], ["presentation.decision_notice.validate_references", lazyHandler(() => import("./presentation/decision_notice.ts"), ({validateDecisionNoticeReferences}) => validateDecisionNoticeReferences)], ["presentation.goal_attention.project", lazyHandler(() => import("./presentation/goal_attention.ts"), ({projectGoalAttention}) => projectGoalAttention)], + ["presentation.goal_sources.project", lazyHandler(() => import("./presentation/goal_source_links.ts"), ({projectGoalSourceLinks}) => projectGoalSourceLinks)], ["presentation.owner_attention.plan", lazyHandler(() => import("./presentation/owner_attention.ts"), ({planOwnerAttention}) => planOwnerAttention)], ["presentation.owner_attention.observe", lazyHandler(() => import("./presentation/owner_attention.ts"), ({observeOwnerAttention}) => observeOwnerAttention)], ["presentation.owner_attention.health", lazyHandler(() => import("./presentation/owner_attention.ts"), ({ownerAttentionHealth}) => ownerAttentionHealth)], diff --git a/loopx/control_plane/presentation/goal_source_links.ts b/loopx/control_plane/presentation/goal_source_links.ts new file mode 100644 index 0000000000..3dd1bb25e7 --- /dev/null +++ b/loopx/control_plane/presentation/goal_source_links.ts @@ -0,0 +1,27 @@ +/** Local organization of existing source Goals, never execution registration. */ +import type {JsonObject} from "../effect_program.ts"; +import {requireJsonObject, requireNonEmptyString} from "../runtime_decode.ts"; + +export function projectGoalSourceLinks(input: JsonObject): JsonObject { + if (!Array.isArray(input.local_goal_ids) || !Array.isArray(input.links) || input.links.length > 32) { + throw new Error("Use a bounded Goal source catalog"); + } + const localIds = new Set(input.local_goal_ids.map(id => requireNonEmptyString(id, "local Goal"))); + const seen = new Set(); + const goals = input.links.map(value => { + const link = requireJsonObject(value, "source link"); + const goalId = requireNonEmptyString(link.goal_id, "source Goal"); + const parent = requireNonEmptyString(link.parent_goal_id, "parent Goal"); + const namespace = requireNonEmptyString(link.namespace, "source namespace"); + const label = requireNonEmptyString(link.label, "source label"); + if (!localIds.has(parent) || localIds.has(goalId) || seen.has(goalId) + || !/^[a-f0-9]{64}$/.test(namespace)) { + throw new Error("Source Goals need an existing local parent and an unambiguous original identity"); + } + seen.add(goalId); + return {id: goalId, parent_goal_id: parent, display_name: label, + registry_member: true, activation_state: "active", + source_access: {namespace, label, read_only: true}}; + }); + return {goals}; +} diff --git a/loopx/control_plane/status/goal_source.py b/loopx/control_plane/status/goal_source.py index d05fc540d2..79efaad6d3 100644 --- a/loopx/control_plane/status/goal_source.py +++ b/loopx/control_plane/status/goal_source.py @@ -193,6 +193,16 @@ def read_status(self, goal_id=None): raise SourceScopeError("Only registered Goals are in this source scope") return status + def read_todo(self, goal_id, todo_id): + self.check_access(goal_id) + if not isinstance(todo_id, str) or not re.fullmatch(r"[A-Za-z0-9][A-Za-z0-9_.:-]{0,199}", todo_id): + raise SourceScopeError("Invalid source Task id") + return json.loads(self._execute([ + self.cli, "--format", "json", "--registry", self.registry, + "--runtime-root", self.runtime_root, "todo", "list", + "--goal-id", goal_id, "--todo-id", todo_id, + ])) + def read_events(self, goal_id): """Read JSON objects; the capability-owned projector verifies semantics.""" selected = self.check_access(goal_id) @@ -246,6 +256,17 @@ def describe(self): "operations": {"goals": True, "status": True, "history": True, "lifecycle": False, "conversation": False, "analysis": False}} + def registered_status(self, goal_id, *, fresh=False): + with self._lock: + status = self.status(goal_id, fresh=fresh) + if not any(goal["id"] == goal_id and goal.get("registry_member") is True + for goal in status["run_history"]["goals"]): + # A runtime-only historical row must not poison a recovered + # registered Goal's display or model-admission cache. + self._invalidate() + raise SourceScopeError("The original Goal is no longer registered") + return status + def goals(self, goal_id=None, *, fresh=False): status = self.status(goal_id, fresh=fresh) return {"ok": True, "source": self.source.describe(), @@ -274,6 +295,139 @@ def redirect_request(self, *_args, **_kwargs): return None +def linked_source_goals(registry): + """Project explicit source references without reading or creating a Goal.""" + raw = registry.get("goal_source_links", []) + if not raw: + return [] + if not isinstance(raw, list) or len(raw) > 32: + raise ValueError("Invalid Goal source catalog") + sources = [] + for link in raw: + if not isinstance(link, dict) or set(link) != {"parent_goal_id", "source"}: + raise ValueError("Invalid Goal source link") + source = GoalSource.parse(link["source"]) + if source.goal_id is None: + raise ValueError("A child link must select one original Goal") + sources.append({"goal_id": source.goal_id, "parent_goal_id": link["parent_goal_id"], + "namespace": source.namespace, "label": source.label}) + from ..effect_runtime import effect_runtime_result + from ...registry import registry_goals + + return effect_runtime_result("presentation.goal_sources.project", { + "local_goal_ids": [goal["id"] for goal in registry_goals(registry)], "links": sources, + })["goals"] + + +class GoalSourceCatalog: + """App IO over its existing registry's source links, not mirror Goals. + + The TS presentation owner qualifies organization/identity. Native sources + retain all Task, state, history and execution authority. Analysis artifacts + live locally under the same physical namespace used by prepared readers. + """ + def __init__(self, registry_path, runtime_root, *, history_projector): + self.registry_path = Path(registry_path) + self.runtime_root = Path(runtime_root) + self._history_projector = history_projector + self._readers = {} + self._lock = RLock() + + def resolve(self, goal_id, registry=None): + from ...registry import load_registry + + registry = load_registry(self.registry_path) if registry is None else registry + rows = linked_source_goals(registry) + row = next((row for row in rows if row["id"] == goal_id), None) + if row is None: + return None + raw = next(link["source"] for link in registry["goal_source_links"] + if link["source"]["scope"].get("goal_id") == goal_id) + source = GoalSource.parse(raw) + with self._lock: + namespaces = {goal["source_access"]["namespace"] for goal in rows} + self._readers = {key: value for key, value in self._readers.items() if key in namespaces} + if source.namespace not in self._readers: + self._readers[source.namespace] = GoalSourceReader(source, history_projector=self._history_projector) + reader = self._readers[source.namespace] + return row, reader + + def status(self, goal_id, registry=None): + resolved = self.resolve(goal_id, registry) + if resolved is None: + return None + row, reader = resolved + status = reader.registered_status(goal_id) + source_goal = next((goal for goal in status["run_history"]["goals"] + if goal["id"] == goal_id and goal.get("registry_member") is True), None) + if source_goal is None: + raise SourceScopeError("The original Goal is no longer registered") + source_goal["native_parent_goal_id"] = source_goal.get("parent_goal_id") + source_goal.update({key: row[key] for key in ("parent_goal_id", "source_access")}) + return status + + def analysis_scope(self, goal_id, *, namespace, fresh): + resolved = self.resolve(goal_id) + if resolved is None: + return None + row, reader = resolved + if namespace != reader.source.namespace: + raise SourceScopeError("Analysis source identity changed") + reader.registered_status(goal_id, fresh=fresh) + return self.runtime_root / "goal-sources" / row["source_access"]["namespace"] + + def update(self, *, parent_goal_id, raw_source): + from ...registry import load_registry + from ..projects.registry_codec import mutate_project_registry + + source = GoalSource.parse(raw_source) + link = {"parent_goal_id": parent_goal_id, "source": raw_source} + + def proposed(registry): + links = list(registry.get("goal_source_links", [])) + existing = next((item for item in links + if item["source"]["scope"].get("goal_id") == source.goal_id), None) + if existing is not None and existing != link: + raise SourceScopeError("The original source identity and parent are already linked") + if existing is None: + links.append(link) + return links + + before = load_registry(self.registry_path) + linked_source_goals({**before, "goal_source_links": proposed(before)}) + # Qualify original membership after metadata admission, before writing. + reader = GoalSourceReader(source, history_projector=lambda rows, **_: rows) + rows = reader.goals(source.goal_id, fresh=True)["items"] + if source.goal_id is None or not any( + row["id"] == source.goal_id and row.get("registry_member") is True for row in rows + ): + raise SourceScopeError("Choose a registered original Goal") + + def apply(registry): + registry["goal_source_links"] = proposed(registry) + linked_source_goals(registry) + + mutate_project_registry(self.registry_path, operation="goal_source_links", reducer=apply) + return {"ok": True, "goals": linked_source_goals(load_registry(self.registry_path))} + + def remove(self, *, parent_goal_id, goal_id, namespace): + from ..projects.registry_codec import mutate_project_registry + + def apply(registry): + links = [] + for link in registry.get("goal_source_links", []): + source = GoalSource.parse(link["source"]) + if source.goal_id == goal_id and link["parent_goal_id"] == parent_goal_id: + if source.namespace != namespace: + raise SourceScopeError("The source link changed; read its current identity") + else: + links.append(link) + registry["goal_source_links"] = links + linked_source_goals(registry) + + mutate_project_registry(self.registry_path, operation="goal_source_unlink", reducer=apply) + + def read_endpoint(endpoint, operation, *, goal_id=None, cursor="", source_namespace=None): """CLI/Agent client for the same read endpoints consumed by the App adapter.""" url = urlparse(endpoint) diff --git a/loopx/presentation/explore_results_api.py b/loopx/presentation/explore_results_api.py index d1db22b5d3..33c8224dd6 100644 --- a/loopx/presentation/explore_results_api.py +++ b/loopx/presentation/explore_results_api.py @@ -1,6 +1,7 @@ """Loopback read adapter for the canonical Explore result projection.""" from urllib.parse import parse_qs, urlparse +import subprocess from ..control_plane.todos.list_readback import list_goal_todos @@ -60,6 +61,20 @@ def _explore_results(self): query = parse_qs(urlparse(self.path).query) goal_id = query.get("goal_id", [""])[0] try: + from .goal_source_routing import linked_goal_source + resolved = linked_goal_source(self.server, goal_id) + if resolved is not None: + if not self._require_loopback_origin(): + return + if query.get("view", ["history"]) != ["history"]: + self._send_error("Use the original source history.", status=400) + return + row, reader = resolved + if query.get("source_namespace") != [reader.source.namespace]: + self._send_error("Source identity changed; refresh the Goal.", status=409) + return + self._send_json(reader.history(goal_id, query.get("cursor", [""])[0])) + return runtime_root = self._goal_result_scope(goal_id) if runtime_root is None: return @@ -81,5 +96,5 @@ def _explore_results(self): "Result page expired; refresh to read current evidence." if expired else "Explore evidence could not be verified.", status=409, ) - except (OSError, RuntimeError): + except (OSError, RuntimeError, subprocess.SubprocessError): self._send_error("Explore evidence could not be read.", status=503) diff --git a/loopx/presentation/goal_source_routing.py b/loopx/presentation/goal_source_routing.py index 179ef2a70b..1df22026b2 100644 --- a/loopx/presentation/goal_source_routing.py +++ b/loopx/presentation/goal_source_routing.py @@ -4,6 +4,93 @@ from ..control_plane.projects.registry_codec import load_project_registry from ..control_plane.runtime.runtime_projection_route import resolve_goal_source_runtime_route +GOAL_SOURCE_LINKS_PATH = "/api/chat/goal-sources" + + +def goal_source_catalog(server): + if not hasattr(server, "registry_path") or not hasattr(server, "runtime_root"): + return None + from ..control_plane.status.goal_source import GoalSourceCatalog + + catalog = getattr(server, "goal_source_catalog", None) + if catalog is None: + from ..capabilities.explore.result_log import explore_history_rows + catalog = GoalSourceCatalog(server.registry_path, server.runtime_root, history_projector=explore_history_rows) + server.goal_source_catalog = catalog + return catalog + + +def linked_goal_source(server, goal_id): + catalog = goal_source_catalog(server) + return catalog.resolve(goal_id) if catalog is not None else None + + +class GoalSourceRequestMixin: + def _todo_detail(self): + import subprocess + from urllib.parse import parse_qs, urlparse + + query = parse_qs(urlparse(self.path).query, keep_blank_values=True) + values = query.get("goal_id", []) + resolved = linked_goal_source(self.server, values[0]) if len(values) == 1 else None + if resolved is None: + return super()._todo_detail() + if not self._require_loopback_origin(): + return + if set(query) != {"goal_id", "todo_id"} or len(query["todo_id"]) != 1: + self._send_error("Choose one original Goal and Task.", status=400) + return + row, reader = resolved + try: + goal_id, todo_id = values[0], query["todo_id"][0] + item = reader.source.read_todo(goal_id, todo_id).get("todo") + if item is None or item.get("todo_id") != todo_id: + self._send_error("The Task is no longer available in this Goal.", status=404) + return + latest = linked_goal_source(self.server, goal_id) + if latest is None or latest[1].source.namespace != reader.source.namespace: + self._send_error("Source identity changed; refresh the Goal.", status=409) + return + self._send_json({"ok": True, "goal_id": goal_id, "todo_id": todo_id, + "text": item["text"], "status": item["status"], + "archive_state": item.get("archive_state", "active"), + "updated_at": item.get("updated_at"), "source_access": row["source_access"]}) + except (ValueError, TypeError, KeyError): + self._send_error("The source Task could not be verified.", status=409) + except (OSError, RuntimeError, subprocess.SubprocessError): + self._send_error("The original Task is unavailable; retry after reconnecting.", status=503) + + def _goal_source_links(self): + from ..chat_workspace_directory import workspace_goal_directory + from ..registry import load_registry + from urllib.parse import parse_qs, urlparse + import subprocess + + if not self._require_loopback_origin(): + return + try: + if parse_qs(urlparse(self.path).query, keep_blank_values=True): + raise ValueError("Source links use the current workspace registry") + if self.command == "POST": + body = self._read_json(max_bytes=65536) + catalog = goal_source_catalog(self.server) + if set(body) == {"parent_goal_id", "goal_id", "source_namespace"} and all( + isinstance(value, str) and value for value in body.values() + ): + catalog.remove(parent_goal_id=body["parent_goal_id"], goal_id=body["goal_id"], + namespace=body["source_namespace"]) + elif set(body) == {"parent_goal_id", "source"} and isinstance(body["parent_goal_id"], str): + catalog.update(parent_goal_id=body["parent_goal_id"], raw_source=body["source"]) + else: + raise ValueError("Choose an existing parent and one source Goal") + directory = workspace_goal_directory(load_registry(self.server.registry_path)) + self._send_json({"ok": True, "registry_revision": directory["registry_revision"], + "goals": [goal for goal in directory["goals"] if goal.get("source_access")]}) + except (ValueError, TypeError, KeyError): + self._send_error("The original Goal or its parent could not be linked.", status=409) + except (OSError, RuntimeError, subprocess.SubprocessError): + self._send_error("The original Goal source is unavailable; retry after reconnecting.", status=503) + def source_registry_for_goal(invoked: Path, goal_id: str) -> Path: payload = load_project_registry(invoked) diff --git a/loopx/presentation/research_analysis_api.py b/loopx/presentation/research_analysis_api.py index 1a62920144..b1674915c7 100644 --- a/loopx/presentation/research_analysis_api.py +++ b/loopx/presentation/research_analysis_api.py @@ -8,20 +8,27 @@ from ..capabilities.benchmark_toolkit import trajectory_assessment_store as store from ..feedback import validate_goal_id +from .goal_source_routing import goal_source_catalog, linked_goal_source RESEARCH_ANALYSIS_PATH = "/api/chat/research-analysis" class ResearchAnalysisRequestMixin: - def _research_analysis_query(self): + def _research_analysis_query(self, goal_id=None): query = parse_qs(urlparse(self.path).query, keep_blank_values=True) namespace = getattr(self.server, "analysis_source_namespace", None) + if namespace is None: + selected = goal_id or (query.get("goal_id") or [None])[0] + resolved = linked_goal_source(self.server, selected) if selected else None + if resolved is not None: + namespace = resolved[1].source.namespace 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: + linked = linked_goal_source(self.server, goal_id) + if getattr(self.server, "analysis_source_namespace", None) is not None or linked 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: @@ -32,6 +39,20 @@ def _research_analysis_scope(self, goal_id): selected = getattr(self.server, "selected_goal_id", None) if selected and selected != goal_id: raise ValueError("Analysis is outside this Goal workspace") + import subprocess + + catalog = goal_source_catalog(self.server) + if catalog is not None and catalog.resolve(goal_id) is not None: + if not self._require_loopback_origin(): + return None + values = parse_qs(urlparse(self.path).query, keep_blank_values=True).get("source_namespace", []) + if len(values) != 1: + raise ValueError("Keep the original source identity") + try: + return catalog.analysis_scope(goal_id, namespace=values[0], fresh=self.command == "POST") + except (OSError, subprocess.SubprocessError): + self._send_error("The original Goal is unavailable; refresh to retry.", status=503) + return None # Reuse the existing registry, loopback and browser-origin checks. return self._goal_result_scope(goal_id) @@ -65,6 +86,8 @@ def _research_analysis_read(self): result = {"ok": True, "catalog": catalog, "pack": pack} if hasattr(self.server, "analysis_execution_enabled"): result["execution_enabled"] = self.server.analysis_execution_enabled + elif linked_goal_source(self.server, goal_id) is not None: + result["execution_enabled"] = True 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) @@ -85,6 +108,10 @@ def _research_analysis_write(self): raise ValueError("Only registered Goal/pack/key operations are accepted") if not cancel and type(body.get("retry", False)) is not bool: raise ValueError("Retry must be an explicit boolean") + if getattr(self.server, "analysis_source_namespace", None) is None: + if linked_goal_source(self.server, body["goal_id"]) is not None: + if self._research_analysis_query(body["goal_id"]): + raise ValueError("Only the pinned source selector is accepted") runtime = self._research_analysis_scope(body["goal_id"]) if runtime is None: return diff --git a/loopx/presentation/runtime_workspace.py b/loopx/presentation/runtime_workspace.py index 37ff1e4196..64c0d61bbc 100644 --- a/loopx/presentation/runtime_workspace.py +++ b/loopx/presentation/runtime_workspace.py @@ -109,9 +109,7 @@ def _research_analysis_scope(self, goal_id): try: # Display reads may share their short cache. A provider operation # must check the original source again before admitting any work. - goals = self.server.reader.goals(goal_id, fresh=self.command == "POST")["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") + self.server.reader.registered_status(goal_id, fresh=self.command == "POST") except SourceScopeError: self._send_error("Goal or connection is not available in this source.", status=404) return None diff --git a/tests/control_plane_ts/goal_source_links.test.ts b/tests/control_plane_ts/goal_source_links.test.ts new file mode 100644 index 0000000000..2cd21a1b26 --- /dev/null +++ b/tests/control_plane_ts/goal_source_links.test.ts @@ -0,0 +1,26 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; +import {projectGoalSourceLinks} from '../../loopx/control_plane/presentation/goal_source_links.ts'; + +const link = () => ({goal_id: 'original-solver', parent_goal_id: 'research-parent', + label: 'Original experiment', namespace: 'a'.repeat(64)}); + +test('an existing source Goal keeps its native id under the local parent', () => { + const result = projectGoalSourceLinks({local_goal_ids: ['research-parent'], links: [link()]}); + assert.deepEqual(result.goals, [{id: 'original-solver', parent_goal_id: 'research-parent', + display_name: 'Original experiment', registry_member: true, activation_state: 'active', + source_access: {label: 'Original experiment', namespace: 'a'.repeat(64), read_only: true}}]); +}); + +test('unknown parents, local collisions and ambiguous original ids are refused', () => { + for (const input of [ + {local_goal_ids: [], links: [link()]}, + {local_goal_ids: ['research-parent', 'original-solver'], links: [link()]}, + {local_goal_ids: ['research-parent'], links: [link(), {...link(), namespace: 'b'.repeat(64)}]}, + {local_goal_ids: ['research-parent'], links: [{...link(), namespace: 'unverified'}]}, + ]) assert.throws(() => projectGoalSourceLinks(input)); +}); + +test('the empty catalog preserves the local-only directory', () => { + assert.deepEqual(projectGoalSourceLinks({local_goal_ids: ['research-parent'], links: []}), {goals: []}); +}); diff --git a/tests/presentation/test_linked_goal_sources.py b/tests/presentation/test_linked_goal_sources.py new file mode 100644 index 0000000000..218bbdb457 --- /dev/null +++ b/tests/presentation/test_linked_goal_sources.py @@ -0,0 +1,167 @@ +"""Normal Chat origin -> native Goal source -> local, explicit analysis. + +The source CLI and assessment subprocess are disposable fixtures. No active +solver, model account or installed App is changed by this regression suite. +""" +import copy +import json +import os +from pathlib import Path +import sys +from urllib.error import HTTPError +from urllib.parse import urlencode +from urllib.request import Request, urlopen + +import pytest + +from test_research_analysis_api import workspace as workspace +from loopx.capabilities.benchmark_toolkit.trajectory_assessment_store import register_pack +from loopx.capabilities.explore.result_log import ( + append_explore_result_event, build_explore_edge_event, build_explore_node_event, + explore_history_rows, explore_result_log_path, +) +from loopx.control_plane.status.goal_source import GoalSource + + +def native_source(w): + source_root = w['tmp_path'] / 'original' + source_root.mkdir() + registry, runtime = source_root / 'registry.json', source_root / 'runtime' + state = source_root / 'active.md' + state.write_text('---\nstatus: active\n---\n\n# Original solving Goal\n\n## Agent Todo\n\n' + '- [ ] Check the original question against its evidence\n' + ' \n') + registry.write_text(json.dumps({'schema_version': 1, 'common_runtime_root': str(runtime), 'goals': [ + {'id': 'solver-goal', 'repo': str(source_root), 'state_file': 'active.md', + 'status': 'active', 'domain': 'source-read', 'authority_sources': [], + 'adapter': {'kind': 'test_v0', 'status': 'connected-read-only'}}]})) + log = explore_result_log_path(runtime, 'solver-goal') + for name in ('question', 'attempt'): + append_explore_result_event(log, build_explore_node_event(goal_id='solver-goal', + node_id=name, node_kind='question', title=name, summary='Original native record')) + append_explore_result_event(log, build_explore_edge_event(goal_id='solver-goal', + from_node='attempt', to_node='question', edge_type='depends_on')) + raw = {'id': 'original', 'label': 'Original experiment', + 'connection': {'kind': 'local'}, 'environment': {'kind': 'host'}, + 'scope': {'goal_id': 'solver-goal'}, 'registry': str(registry), 'runtime_root': str(runtime), + 'cli': str(Path(sys.executable).with_name('loopx')), 'python': sys.executable, + 'path': os.environ['PATH']} + w['server'].runtime_root = w['tmp_path'] / 'runtime' + w['server'].selected_goal_id = None + w['server'].scan_roots, w['server'].limit = [], 80 + base = f'http://127.0.0.1:{w["server"].server_port}' + + def request(path, body=None, origin=None): + headers = {'Content-Type': 'application/json'} + if origin: + headers['Origin'] = origin + req = Request(base + path, data=None if body is None else json.dumps(body).encode(), headers=headers) + with urlopen(req, timeout=30) as response: + return json.load(response) + + return raw, request, {path: path.read_bytes() for path in (registry, state, log)} + + +def test_app_parent_directory_reads_original_tasks_history_and_explicit_analysis(workspace): + w = workspace + raw, request, before = native_source(w) + assert request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw})['ok'] + namespace = GoalSource.parse(raw).namespace + directory = request('/status.json?view=workspace-directory') + child = next(goal for goal in directory['goals'] if goal['id'] == 'solver-goal') + assert child['parent_goal_id'] == 'research-owner' and child['source_access']['read_only'] + assert str(w['tmp_path']) not in json.dumps(child) + snapshot = request('/status.json?goal_id=solver-goal') + assert snapshot['workspace_registry_revision'] == directory['registry_revision'] + actual = snapshot['run_history']['goals'][0] + assert actual['id'] == 'solver-goal' and actual['parent_goal_id'] == 'research-owner' + assert actual['native_parent_goal_id'] is None + task = request('/api/chat/todo/detail?goal_id=solver-goal&todo_id=todo_original') + assert task['text'] == 'Check the original question against its evidence' + assert 'review_basis' not in task + history = request('/api/chat/explore-results?' + urlencode({ + 'goal_id': 'solver-goal', 'source_namespace': namespace, 'view': 'history'})) + assert history['total'] == 3 and any(row.get('edge_type') == 'depends_on' for row in history['items']) + + analysis_runtime = w['server'].runtime_root / 'goal-sources' / namespace + pack = register_pack(runtime_root=analysis_runtime, owner_goal_id='solver-goal', + input_path=w['tmp_path'] / 'input.json', source_root=w['sources'], title='Original source evidence') + query = urlencode({'goal_id': 'solver-goal', 'source_namespace': namespace}) + endpoint = '/api/chat/research-analysis' + initial = request(endpoint + '?' + query) + assert initial['execution_enabled'] and initial['pack']['job'] is None + assert not w['count'].exists() + operation = dict(goal_id='solver-goal', pack_id=pack['pack_id'], analysis_key=pack['analysis_key']) + w['mode'].write_text('ok') + result = request(endpoint + '?source_namespace=' + namespace, operation) + assert result['job']['status'] == 'succeeded' + assert len(w['count'].read_text().splitlines()) == 1 + assert request(endpoint + '?' + query)['pack']['result']['assessments'][0]['verdict'] == 'no' + for path, data in before.items(): + assert path.read_bytes() == data + host_registry = json.loads(w['server'].registry_path.read_text()) + assert [goal['id'] for goal in host_registry['goals']] == ['research-owner', 'other-owner'] + # A new App service reads the persisted relationship, not a browser URL or in-memory mirror. + from loopx.control_plane.status.goal_source import GoalSourceCatalog + w['server'].goal_source_catalog = GoalSourceCatalog(w['server'].registry_path, w['server'].runtime_root, + history_projector=explore_history_rows) + assert request(endpoint + '?' + query)['pack']['job']['status'] == 'succeeded' + assert len(w['count'].read_text().splitlines()) == 1 + bound = w['server'].registry_path.read_bytes() + unlink = dict(parent_goal_id='research-owner', goal_id='solver-goal', source_namespace='f' * 64) + with pytest.raises(HTTPError): + request('/api/chat/goal-sources', unlink) + assert w['server'].registry_path.read_bytes() == bound + request('/api/chat/goal-sources', {**unlink, 'source_namespace': namespace}) + assert not request('/api/chat/goal-sources')['goals'] + with pytest.raises(HTTPError): + request(endpoint + '?source_namespace=' + namespace, operation) + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + assert request(endpoint + '?' + query)['pack']['job']['status'] == 'succeeded' + assert len(w['count'].read_text().splitlines()) == 1 + assert all(path.read_bytes() == data for path, data in before.items()) + + +@pytest.mark.parametrize('retry', [False, True]) +@pytest.mark.parametrize('failure', ['removed', 'unavailable']) +def test_app_warm_read_cannot_admit_analysis_after_original_goal_disappears(workspace, retry, failure): + w = workspace + raw, request, before = native_source(w) + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + namespace = GoalSource.parse(raw).namespace + query = urlencode({'goal_id': 'solver-goal', 'source_namespace': namespace}) + request('/api/chat/research-analysis?' + query) + source_registry = Path(raw['registry']) + missing = json.loads(source_registry.read_text()) + missing['goals'] = [] + if failure == 'removed': + source_registry.write_text(json.dumps(missing)) + else: + source_registry.unlink() + operation = dict(goal_id='solver-goal', pack_id='a' * 64, analysis_key='b' * 64, retry=retry) + with pytest.raises(HTTPError): + request('/api/chat/research-analysis?source_namespace=' + namespace, operation) + assert not w['count'].exists() + source_registry.write_bytes(before[source_registry]) + assert request('/api/chat/research-analysis?' + query)['catalog']['packs'] == [] + + +def test_app_source_links_reject_other_origins_unknown_parents_and_identity_collisions(workspace): + w = workspace + raw, request, _ = native_source(w) + host = w['server'].registry_path + before = host.read_bytes() + for body, origin in [({'parent_goal_id': 'research-owner', 'source': raw}, 'https://unrelated.example'), + ({'parent_goal_id': 'absent', 'source': raw}, None)]: + with pytest.raises(HTTPError): + request('/api/chat/goal-sources', body, origin) + assert host.read_bytes() == before + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': raw}) + bound = host.read_bytes() + moved = copy.deepcopy(raw) + moved['runtime_root'] += '-different' + with pytest.raises(HTTPError): + request('/api/chat/goal-sources', {'parent_goal_id': 'research-owner', 'source': moved}) + assert host.read_bytes() == bound and not w['count'].exists() + with pytest.raises(HTTPError): + request('/api/chat/research-analysis?goal_id=solver-goal&source_namespace=' + 'f' * 64) From 042d4e355b2c0ace1b280518960c11e44d4a5160 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Tue, 20 Oct 2026 03:05:37 +0800 Subject: [PATCH 2/4] fix(workspace): pin Task details to the selected source namespace Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- apps/presentation/dashboard/src/data/chat.ts | 5 ++- .../personal-workspace/context-drawer.tsx | 7 ++-- .../personal-workspace/task-request.tsx | 8 ++--- loopx/presentation/goal_source_routing.py | 8 ++++- .../presentation/test_linked_goal_sources.py | 33 ++++++++++++++++++- 5 files changed, 51 insertions(+), 10 deletions(-) diff --git a/apps/presentation/dashboard/src/data/chat.ts b/apps/presentation/dashboard/src/data/chat.ts index 4e6b92edfd..c3de47b5be 100644 --- a/apps/presentation/dashboard/src/data/chat.ts +++ b/apps/presentation/dashboard/src/data/chat.ts @@ -646,14 +646,17 @@ export async function requestJson(url: string, init?: RequestInit): Promise(`/api/chat/todo/detail?${query}`, {signal})); if (result.goal_id !== goalId || result.todo_id !== todoId) throw new Error("Task source changed"); + if (sourceNamespace && result.source_access?.namespace !== sourceNamespace) throw new Error("Task source changed"); return result; } diff --git a/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx b/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx index eaa00f178f..cfcc6ff00a 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/context-drawer.tsx @@ -318,7 +318,8 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention : t("drawer.goalDetails"); const goalId = selection.kind === "proposal" ? selection.item.goalId ?? "manager" : selection.item.goalId; - const taskReadable = !readOnly || goals.some(goal => goal.goalId === goalId && goal.sourceAccess); + const taskNamespace = goals.find(goal => goal.goalId === goalId)?.sourceAccess?.namespace; + const taskReadable = !readOnly || Boolean(taskNamespace); const contextLabel = selection.kind === "attention" ? selection.item.goalTitle ?? t("drawer.currentGoal") : selection.kind === "todo" ? selection.item.goalTitle : selection.kind === "run" ? selection.item.goalTitle @@ -643,7 +644,7 @@ export function ContextDrawer({ agents, attentionHistory = [], onSelectAttention ) : selection.item.detailMode ? (