From 22bf1293bb438e8c8fc95f29a2e34bd77b71184a Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:25:36 +0800 Subject: [PATCH 1/5] fix: expose published research in Goal results and review cards Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../dashboard/src/data/decision-research.ts | 1 + .../dashboard/src/data/local-status-query.ts | 7 + .../personal-workspace/goal-loopx-mode.css | 2 +- .../goal-research-results.tsx | 55 +++++ .../personal-workspace-page.tsx | 9 +- .../dashboard/src/views/dashboard-page.tsx | 7 + loopx/chat_server.py | 6 + loopx/chat_status_api.py | 16 +- .../project_registry_io_manifest_v1.json | 28 +-- loopx/status_server.py | 227 +++++++++--------- .../src/loopx_finance_value_discovery/cli.py | 6 +- .../lark_projection.py | 92 ++++++- 12 files changed, 322 insertions(+), 134 deletions(-) create mode 100644 apps/presentation/dashboard/src/features/personal-workspace/goal-research-results.tsx diff --git a/apps/presentation/dashboard/src/data/decision-research.ts b/apps/presentation/dashboard/src/data/decision-research.ts index 2268f59d9b..ce324997b3 100644 --- a/apps/presentation/dashboard/src/data/decision-research.ts +++ b/apps/presentation/dashboard/src/data/decision-research.ts @@ -426,6 +426,7 @@ export async function fetchPresentationProjection( || projection.payload_sha256 !== expectedIdentity.payload_sha256 || projection.view_schema !== surface.view_schema || projection.surface_kind !== surface.surface_kind + || projection.goal_id !== surface.goal_id ) { throw new Error("projection response does not match the requested detail_ref"); } diff --git a/apps/presentation/dashboard/src/data/local-status-query.ts b/apps/presentation/dashboard/src/data/local-status-query.ts index c8a67da72a..a642f68090 100644 --- a/apps/presentation/dashboard/src/data/local-status-query.ts +++ b/apps/presentation/dashboard/src/data/local-status-query.ts @@ -153,6 +153,13 @@ export async function fetchPeriodicReportIndex(indexUrl: string, goalId: string) return periodicReportIndexResponseSchema.parse(await response.json()).periodic_reports; } +export function presentationApiUrls(payload: StatusPayload, source: ResolvedLocalStatusUrl) { + return { + indexUrl: localApiUrl(source, payload.local_dashboard_api?.presentation_surfaces_url), + detailUrl: localApiUrl(source, payload.local_dashboard_api?.presentation_detail_url), + }; +} + export async function fetchPeriodicReportProjection( detailUrl: string, ref: PeriodicReportDetailRef, diff --git a/apps/presentation/dashboard/src/features/personal-workspace/goal-loopx-mode.css b/apps/presentation/dashboard/src/features/personal-workspace/goal-loopx-mode.css index 92aee77951..6c414cd891 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/goal-loopx-mode.css +++ b/apps/presentation/dashboard/src/features/personal-workspace/goal-loopx-mode.css @@ -139,7 +139,7 @@ li[data-check="blocked"] .goal-team-check-pill { border-color: transparent; back .goal-team-results p { font-size: 12px; line-height: 1.7; color: var(--pw-muted); } .goal-team-results [role="alert"] { color: var(--pw-red, #b42318); } .goal-team-results button, .goal-team-results select { min-height: 44px; padding: 8px 12px; border: 1px solid var(--pw-line, #ebebeb); border-radius: 6px; background: var(--pw-surface, #fff); color: inherit; font: inherit; cursor: pointer; } -.goal-managed-results > header button { flex-shrink: 0; white-space: nowrap; } +.goal-managed-results > header button, .goal-research-results > header button { flex-shrink: 0; white-space: nowrap; } .goal-team-results button[aria-pressed="true"] { border-color: var(--pw-text); } .goal-team-results button:disabled { opacity: .5; cursor: default; } .goal-team-results summary { cursor: pointer; padding: 12px 0; font-size: 12px; min-height: 44px; } diff --git a/apps/presentation/dashboard/src/features/personal-workspace/goal-research-results.tsx b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-results.tsx new file mode 100644 index 0000000000..69c29a765f --- /dev/null +++ b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-results.tsx @@ -0,0 +1,55 @@ +import {useEffect, useState} from "react"; +import {RefreshCw} from "lucide-react"; +import {fetchPresentationProjection, type DecisionResearchView} from "../../data/decision-research"; +import {parsePresentationSurfaceCollectionResponse, type PresentationSurface, type RunGoal} from "../../data/status"; +import {DecisionResearchSurface} from "../../views/decision-research-surface"; + +export type GoalResearchApi = {indexUrl: string; detailUrl: string; goals: RunGoal[]}; +type Result = {surface: PresentationSurface; view?: DecisionResearchView; error?: string}; + +/** The active Goal's published research; the extension index owns availability. */ +export function GoalResearchResults({goalId, api, zh}: {goalId: string; api: GoalResearchApi; zh: boolean}) { + const [results, setResults] = useState([]); + const [busy, setBusy] = useState(true); + const [error, setError] = useState(""); + const [revision, setRevision] = useState(0); + useEffect(() => { + let current = true; + setResults([]); setError(""); setBusy(true); + void (async () => { + try { + const response = await fetch(api.indexUrl, {cache: "no-store"}); + if (!response.ok) throw new Error(`HTTP ${response.status}`); + const collection = parsePresentationSurfaceCollectionResponse(await response.json()); + const surfaces = collection.items.filter(surface => surface.goal_id === goalId + && surface.visibility === "public-safe" + && surface.surface_kind === "decision_research_dashboard" + && surface.view_schema === "decision_research_dashboard_v0"); + const next = await Promise.all(surfaces.map(async (surface): Promise => { + if (surface.state !== "ready" && surface.state !== "review_due") return {surface}; + try { + const projection = await fetchPresentationProjection(api.detailUrl, surface); + return {surface, view: projection.view}; + } catch (failure) {return {surface, error: String(failure)};} + })); + if (current) setResults(next); + } catch (failure) {if (current) setError(String(failure));} + finally {if (current) setBusy(false);} + })(); + return () => {current = false;}; + }, [goalId, api.indexUrl, api.detailUrl, revision]); + + return
+

{zh ? "研究成果" : "Research results"}

+

{zh ? "查看本 Goal 已保存的研究结论、反证和待复核事项。" : "Review this Goal’s saved conclusions, counterevidence and open questions."}

+
+ {busy ?

{zh ? "正在核验研究结果…" : "Verifying research results…"}

: null} + {error ?

{zh ? "无法核验研究结果;旧内容已清除。" : "Cannot verify research results; previous content was cleared."} {error}

: null} + {!busy && !error && !results.length ?

{zh ? "本 Goal 暂无可读取的公开研究成果。" : "No readable public research results for this Goal yet."}

: null} + {results.map(result => ) } +
; +} 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 7cd0d09edc..ec41a41d48 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 @@ -39,6 +39,7 @@ import { ChannelHeader } from "./channel-header"; import { GoalLoopXMode } from "./goal-loopx-mode"; import { GoalTeamResults } from "./goal-team-results"; import { GoalManagedResults } from "./goal-managed-results"; +import { GoalResearchResults, type GoalResearchApi } from "./goal-research-results"; import { sendLoopXMessage, type LoopXModeSnapshot } from "../../data/chat"; import { MessageActivity } from "./message-activity"; import { ChannelTimeline } from "./channel-timeline"; @@ -202,6 +203,7 @@ function GoalOutputsView({ teamSessionId, goalId, localResults, + researchApi, }: { active: boolean; items: Array>; @@ -210,6 +212,7 @@ function GoalOutputsView({ teamSessionId?: string; goalId: string; localResults: boolean; + researchApi?: GoalResearchApi; }) { const { locale, t } = useWorkspaceI18n(); const [teamSnapshot, setTeamSnapshot] = useState(null); @@ -261,6 +264,7 @@ function GoalOutputsView({ ))} {localResults ? : null} + {active && researchApi ? : null} {active && teamSessionId && !teamSnapshot && !teamError ?

{t("files.checkingTeam")}

: null} {active && teamSessionId && teamError ?

{t("files.teamLoadFailed")}

: null} {active && teamConfigured && teamSessionId ? : null} @@ -787,6 +791,7 @@ export function PersonalWorkspacePage({ managerChannelBinding, managerRuntime, model, + researchApi, readOnly = false, typedActionsRevision = 0, selectedAgentId: controlledAgentId, @@ -807,6 +812,7 @@ export function PersonalWorkspacePage({ managerChannelBinding?: ManagerChannelBinding | null; managerRuntime?: ManagerRuntimeSessionReadback | null; model: WorkspaceModel; + researchApi?: GoalResearchApi; ownerLabel?: string; readOnly?: boolean; // Bumped when typed previews were stored outside this page, so the page @@ -1947,7 +1953,8 @@ export function PersonalWorkspacePage({ reportState={model.periodicReports} teamSessionId={!readOnly && selectedAgentId === "codex" ? conversationSessionId : undefined} goalId={selectedGoal.goalId} - localResults={!readOnly && selectedGoalTab === "files"} + localResults={!readOnly && selectedGoalTab === "files"} + researchApi={researchApi} />), chat: (<> {selectedGoal && activeSessionRun?.goalId === selectedGoal.goalId ? ( diff --git a/apps/presentation/dashboard/src/views/dashboard-page.tsx b/apps/presentation/dashboard/src/views/dashboard-page.tsx index 2e8fd7679d..f20c961818 100644 --- a/apps/presentation/dashboard/src/views/dashboard-page.tsx +++ b/apps/presentation/dashboard/src/views/dashboard-page.tsx @@ -33,6 +33,7 @@ import { fetchPeriodicReportIndex, fetchPeriodicReportProjection, periodicReportApiUrls, + presentationApiUrls, resolveLocalStatusUrl, scopedStatusUrl, } from "../data/local-status-query"; @@ -1289,6 +1290,8 @@ function PersonalGoalHome({ }, [payload, rows, progress, goalSubagentConfigurationEnabled, t]); const selectedGoal = model.goals.find((goal) => goal.goalId === selectedGoalId) ?? null; const selectedPayload = progress?.snapshots[selectedGoalId] ?? payload; + const researchSource = resolveLocalStatusUrl(statusSourceControl.activeSource.statusUrl, window.location.href); + const researchUrls = researchSource.source ? presentationApiUrls(selectedPayload, researchSource.source) : null; const [periodicReport, setPeriodicReport] = useState(null); const [periodicReportError, setPeriodicReportError] = useState(null); const [periodicReportLoading, setPeriodicReportLoading] = useState(false); @@ -3071,6 +3074,10 @@ function PersonalGoalHome({ conversationSupportsSteering={steeringSessionIds.has(runtimeBindings[contextId]?.sessionId ?? "")} conversationHistoryState={conversationHistory} model={workspaceModel} + researchApi={researchUrls?.indexUrl && researchUrls.detailUrl ? { + indexUrl: researchUrls.indexUrl, detailUrl: researchUrls.detailUrl, + goals: selectedPayload.run_history.goals, + } : undefined} readOnly={readOnly} selectedAgentId={selectedAgent.agentId} selectedGoalId={selectedGoal?.goalId ?? null} diff --git a/loopx/chat_server.py b/loopx/chat_server.py index 29e57f66cb..f3989ef116 100644 --- a/loopx/chat_server.py +++ b/loopx/chat_server.py @@ -91,6 +91,8 @@ from .registry import registry_goals, resolve_state_file from .state_projection import build_active_state_structured_projection from .status_server import ( + DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH, + DEFAULT_EXTENSION_PROJECTION_PATH, cors_response_headers, is_loopback_host, is_loopback_origin, @@ -1340,6 +1342,10 @@ def _action_apply(self, proposal_id: str) -> None: def do_GET(self) -> None: path = urlparse(self.path).path + if path == DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH: + return self._handle_extension_presentation_surfaces() + if path == DEFAULT_EXTENSION_PROJECTION_PATH: + return self._handle_extension_projection(parse_qs(urlparse(self.path).query)) if path == "/healthz": self._send_json({"ok": True}) return diff --git a/loopx/chat_status_api.py b/loopx/chat_status_api.py index d0cb7b0106..3cbb1e824b 100644 --- a/loopx/chat_status_api.py +++ b/loopx/chat_status_api.py @@ -33,7 +33,12 @@ from .history import load_registry from .registry import registry_goals from .status import collect_status -from .status_server import parse_goal_activation_filter +from .status_server import ( + DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH, + DEFAULT_EXTENSION_PROJECTION_PATH, + ExtensionPresentationRequestMixin, + parse_goal_activation_filter, +) from .todos import list_goal_todos @@ -98,7 +103,7 @@ def _status_access_denied(error: BaseException) -> bool: return False -class ChatStatusRequestMixin: +class ChatStatusRequestMixin(ExtensionPresentationRequestMixin): """Serve the full dashboard status contract through the Chat origin.""" server: Any @@ -182,6 +187,13 @@ def _status(self, *, delivery_review: bool = False) -> None: "registry_revision" ] if not delivery_review: + projection["local_dashboard_api"] = { + **(projection.get("local_dashboard_api") or {}), + "source": "chat", + "status_url": "/status.json", + "presentation_surfaces_url": DEFAULT_EXTENSION_PRESENTATION_SURFACES_PATH, + "presentation_detail_url": DEFAULT_EXTENSION_PROJECTION_PATH, + } attach_host_thread_activity( projection, observers=codex_thread_observers() ) diff --git a/loopx/semantics/project_registry_io_manifest_v1.json b/loopx/semantics/project_registry_io_manifest_v1.json index 709413835b..d5d8967aa5 100644 --- a/loopx/semantics/project_registry_io_manifest_v1.json +++ b/loopx/semantics/project_registry_io_manifest_v1.json @@ -431,7 +431,7 @@ }, { "site": "loopx/chat_server.py::.ChatRequestHandler._goal_channel_extension_ready::codec_read:load_registry#1", - "line": 978, + "line": 980, "column": 24, "kind": "codec_read", "api": "load_registry", @@ -439,7 +439,7 @@ }, { "site": "loopx/chat_server.py::.ChatRequestHandler._registry_and_goal::codec_read:load_registry#1", - "line": 518, + "line": 520, "column": 20, "kind": "codec_read", "api": "load_registry", @@ -447,7 +447,7 @@ }, { "site": "loopx/chat_server.py::.serve_chat::codec_read:load_registry#1", - "line": 1525, + "line": 1531, "column": 16, "kind": "codec_read", "api": "load_registry", @@ -455,7 +455,7 @@ }, { "site": "loopx/chat_server.py::.serve_chat._wake_goal_context::codec_read:load_registry#1", - "line": 1613, + "line": 1619, "column": 20, "kind": "codec_read", "api": "load_registry", @@ -463,7 +463,7 @@ }, { "site": "loopx/chat_status_api.py::.ChatStatusRequestMixin._status::codec_read:load_registry#1", - "line": 147, + "line": 152, "column": 28, "kind": "codec_read", "api": "load_registry", @@ -471,7 +471,7 @@ }, { "site": "loopx/chat_status_api.py::.ChatStatusRequestMixin._status::codec_read:load_registry#2", - "line": 174, + "line": 179, "column": 21, "kind": "codec_read", "api": "load_registry", @@ -2134,16 +2134,16 @@ "classification": "codec_api" }, { - "site": "loopx/status_server.py::.StatusRequestHandler._handle_extension_presentation_surfaces::codec_read:load_registry#1", - "line": 854, + "site": "loopx/status_server.py::.ExtensionPresentationRequestMixin._handle_extension_presentation_surfaces::codec_read:load_registry#1", + "line": 337, "column": 24, "kind": "codec_read", "api": "load_registry", "classification": "codec_api" }, { - "site": "loopx/status_server.py::.StatusRequestHandler._handle_extension_projection::codec_read:load_registry#1", - "line": 802, + "site": "loopx/status_server.py::.ExtensionPresentationRequestMixin._handle_extension_projection::codec_read:load_registry#1", + "line": 285, "column": 24, "kind": "codec_read", "api": "load_registry", @@ -2151,7 +2151,7 @@ }, { "site": "loopx/status_server.py::.StatusRequestHandler._handle_periodic_report_index::codec_read:load_registry#1", - "line": 884, + "line": 893, "column": 24, "kind": "codec_read", "api": "load_registry", @@ -2159,7 +2159,7 @@ }, { "site": "loopx/status_server.py::.StatusRequestHandler._handle_periodic_report_projection::codec_read:load_registry#1", - "line": 948, + "line": 957, "column": 24, "kind": "codec_read", "api": "load_registry", @@ -2167,7 +2167,7 @@ }, { "site": "loopx/status_server.py::.StatusRequestHandler._handle_review_material::codec_read:load_registry#1", - "line": 746, + "line": 863, "column": 24, "kind": "codec_read", "api": "load_registry", @@ -2175,7 +2175,7 @@ }, { "site": "loopx/status_server.py::.StatusRequestHandler._status_readiness::codec_read:load_registry#1", - "line": 1016, + "line": 1025, "column": 24, "kind": "codec_read", "api": "load_registry", diff --git a/loopx/status_server.py b/loopx/status_server.py index 9171d5c954..de7cf5c7f2 100644 --- a/loopx/status_server.py +++ b/loopx/status_server.py @@ -238,7 +238,124 @@ class StatusHTTPServer(ThreadingHTTPServer): verbose: bool -class StatusRequestHandler(BaseHTTPRequestHandler): +class ExtensionPresentationRequestMixin: + """Shared read-only extension routes for loopback status and Chat surfaces.""" + + server: Any + + def _send_json(self, payload: dict[str, Any], *, status: int = 200) -> None: + raise NotImplementedError + + def _handle_extension_projection(self, query: dict[str, list[str]]) -> None: + if not is_loopback_host(str(self.server.server_address[0])): + self._send_json( + { + "ok": False, + "error": "extension projection reads require a loopback status server", + }, + status=403, + ) + return + if not is_loopback_origin(self.headers.get("Origin")): + self._send_json( + { + "ok": False, + "error": "extension projection reads only accept loopback browser origins", + }, + status=403, + ) + return + extension_id = (query.get("extension_id") or [""])[0].strip() + surface_id = (query.get("surface_id") or [""])[0].strip() + extension_revision = (query.get("extension_revision") or [""])[0].strip() + payload_sha256 = (query.get("payload_sha256") or [""])[0].strip() + if not (extension_id and surface_id and extension_revision and payload_sha256): + self._send_json( + { + "ok": False, + "error": ( + "extension_id, surface_id, extension_revision, and " + "payload_sha256 are required" + ), + }, + status=400, + ) + return + try: + registry = load_registry(self.server.registry_path) + runtime_root = resolve_runtime_root( + registry, + self.server.runtime_root_override, + registry_path=self.server.registry_path, + ) + envelope = read_extension_projection( + state_file=default_extension_state_file(runtime_root), + extension_id=extension_id, + surface_id=surface_id, + extension_revision=extension_revision, + payload_sha256=payload_sha256, + ) + except Exception as exc: # noqa: BLE001 - local UI needs the read failure. + self._send_json( + { + "ok": False, + "extension_id": extension_id, + "surface_id": surface_id, + "error": str(exc), + }, + status=400, + ) + return + self._send_json({"ok": True, "projection": envelope}) + + def _handle_extension_presentation_surfaces(self) -> None: + if not is_loopback_host(str(self.server.server_address[0])): + self._send_json( + { + "ok": False, + "error": ( + "extension presentation surfaces require a loopback " + "status server" + ), + }, + status=403, + ) + return + if not is_loopback_origin(self.headers.get("Origin")): + self._send_json( + { + "ok": False, + "error": ( + "extension presentation surfaces only accept loopback " + "browser origins" + ), + }, + status=403, + ) + return + try: + registry = load_registry(self.server.registry_path) + runtime_root = resolve_runtime_root( + registry, + self.server.runtime_root_override, + registry_path=self.server.registry_path, + ) + surfaces = collect_active_extension_presentation_surfaces( + state_file=default_extension_state_file(runtime_root), + ) + except Exception as exc: # noqa: BLE001 - local UI needs the read failure. + self._send_json( + { + "ok": False, + "error": str(exc), + }, + status=400, + ) + return + self._send_json({"ok": True, "presentation_surfaces": surfaces}) + + +class StatusRequestHandler(ExtensionPresentationRequestMixin, BaseHTTPRequestHandler): server: StatusHTTPServer def _send_json(self, payload: dict[str, Any], *, status: int = 200) -> None: @@ -763,114 +880,6 @@ def _handle_review_material(self, query: dict[str, list[str]]) -> None: return self._send_json(payload) - def _handle_extension_projection(self, query: dict[str, list[str]]) -> None: - if not is_loopback_host(str(self.server.server_address[0])): - self._send_json( - { - "ok": False, - "error": "extension projection reads require a loopback status server", - }, - status=403, - ) - return - if not is_loopback_origin(self.headers.get("Origin")): - self._send_json( - { - "ok": False, - "error": "extension projection reads only accept loopback browser origins", - }, - status=403, - ) - return - extension_id = (query.get("extension_id") or [""])[0].strip() - surface_id = (query.get("surface_id") or [""])[0].strip() - extension_revision = (query.get("extension_revision") or [""])[0].strip() - payload_sha256 = (query.get("payload_sha256") or [""])[0].strip() - if not (extension_id and surface_id and extension_revision and payload_sha256): - self._send_json( - { - "ok": False, - "error": ( - "extension_id, surface_id, extension_revision, and " - "payload_sha256 are required" - ), - }, - status=400, - ) - return - try: - registry = load_registry(self.server.registry_path) - runtime_root = resolve_runtime_root( - registry, - self.server.runtime_root_override, - registry_path=self.server.registry_path, - ) - envelope = read_extension_projection( - state_file=default_extension_state_file(runtime_root), - extension_id=extension_id, - surface_id=surface_id, - extension_revision=extension_revision, - payload_sha256=payload_sha256, - ) - except Exception as exc: # noqa: BLE001 - local UI needs the read failure. - self._send_json( - { - "ok": False, - "extension_id": extension_id, - "surface_id": surface_id, - "error": str(exc), - }, - status=400, - ) - return - self._send_json({"ok": True, "projection": envelope}) - - def _handle_extension_presentation_surfaces(self) -> None: - if not is_loopback_host(str(self.server.server_address[0])): - self._send_json( - { - "ok": False, - "error": ( - "extension presentation surfaces require a loopback " - "status server" - ), - }, - status=403, - ) - return - if not is_loopback_origin(self.headers.get("Origin")): - self._send_json( - { - "ok": False, - "error": ( - "extension presentation surfaces only accept loopback " - "browser origins" - ), - }, - status=403, - ) - return - try: - registry = load_registry(self.server.registry_path) - runtime_root = resolve_runtime_root( - registry, - self.server.runtime_root_override, - registry_path=self.server.registry_path, - ) - surfaces = collect_active_extension_presentation_surfaces( - state_file=default_extension_state_file(runtime_root), - ) - except Exception as exc: # noqa: BLE001 - local UI needs the read failure. - self._send_json( - { - "ok": False, - "error": str(exc), - }, - status=400, - ) - return - self._send_json({"ok": True, "presentation_surfaces": surfaces}) - def _handle_periodic_report_index(self, query: dict[str, list[str]]) -> None: if not is_loopback_host( str(self.server.server_address[0]) diff --git a/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/cli.py b/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/cli.py index 93603389d7..50423ff587 100644 --- a/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/cli.py +++ b/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/cli.py @@ -154,7 +154,7 @@ def _direct_parser() -> argparse.ArgumentParser: sub.add_parser("list-packs", help="List bundled industry metric packs.") lark_parser = sub.add_parser( "render-lark-card", - help="Render source-period evidence from the canonical dashboard view.", + help="Render research conclusions and evidence from the canonical dashboard view; no send.", ) lark_parser.add_argument( "--input-json", @@ -244,12 +244,12 @@ def run(argv: Sequence[str] | None = None) -> int: packet = list_finance_metric_packs() elif args.command == "render-lark-card": from .dashboard import build_finance_research_dashboard_packet - from .lark_projection import build_source_period_metrics_lark_card + from .lark_projection import build_decision_research_lark_card dashboard = build_finance_research_dashboard_packet( _load_json(args.input_json) ) - packet = build_source_period_metrics_lark_card( + packet = build_decision_research_lark_card( dashboard["presentation_projection"]["view"] ) else: diff --git a/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/lark_projection.py b/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/lark_projection.py index 99a4afd9b9..fc541c1e8c 100644 --- a/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/lark_projection.py +++ b/packages/loopx-finance-value-discovery/src/loopx_finance_value_discovery/lark_projection.py @@ -1,4 +1,4 @@ -"""Lark card projection for the finance-owned source-period view. +"""Lark card projection for the finance-owned research view. The renderer consumes the same validated ``decision_research_dashboard_v0`` view as the Dashboard. It does not read provider payloads or define a second @@ -32,8 +32,6 @@ def _display_value(metric: Mapping[str, Any]) -> str: value = metric.get("value") if value is None: return "missing (not zero)" - if isinstance(value, float): - return f"{value:g} {metric['unit']}" return f"{value} {metric['unit']}" @@ -105,7 +103,7 @@ def render_source_period_metrics_markdown(view: Mapping[str, Any]) -> str: price = ( "missing (not zero)" if market["mark_price"] is None - else f"{market['mark_price']:g}" + else str(market["mark_price"]) ) lines.extend( [ @@ -129,3 +127,89 @@ def build_source_period_metrics_lark_card( template="yellow", footer="LoopX finance projection · evidence only · never auto-ready", ) + + +def render_decision_research_markdown(view: Mapping[str, Any]) -> str: + """Preserve the canonical research, including uncertainty and counterevidence.""" + + validated = validate_decision_research_view(view) + identity = validated["identity"] + decision = validated["adjudication"] + plain = _lark_plain_text + lines = [ + f"**{plain(identity['title'])}**", + plain(identity["subtitle"]), + f"As of: {plain(identity['as_of'])} · evidence cutoff: {plain(identity['evidence_cutoff'])}", + "Research aid only · investment advice: false · trading allowed: false.", + "", + f"**{plain(decision['label'])}** · confidence: {plain(decision['confidence'])}", + plain(decision["summary"]), + ] + + def section(title: str, items: list[str]) -> None: + if items: + lines.extend(["", f"**{title}**", *[f"- {item}" for item in items]]) + + section("Measures", [ + f"{plain(item['label'])}: {plain(item['value'])} · {plain(item['detail'])}" + for item in validated["metrics"] + ]) + for layer in validated["layers"]: + section(plain(layer["label"]), [ + f"{plain(layer['status'])} · {plain(layer['summary'])}", + *map(plain, layer["evidence_points"]), + ]) + for entity in validated["entities"]: + section(plain(entity["display_name"]), [ + f"{plain(entity['symbol'])} · {plain(entity['status'])} · confidence: {plain(entity['confidence'])}", + plain(entity["inference"]), + ]) + section("Observations", [ + f"{plain(item['label'])}: {plain(item['value'])} · {plain(item['kind'])} · {plain(item['as_of'])} · {plain(item['source_ref'])} · invalidation: {plain(item['invalidation'])}" + for item in entity["observations"] + ]) + section("Scenario estimates", [ + f"{plain(item['label'])}: {plain(item['value'])} · {plain(item['horizon'])} · probability: {plain(item['probability'])} · assumptions: {', '.join(map(plain, item['assumptions']))}" + for item in entity["scenario_estimates"] + ]) + section("Counterevidence", list(map(plain, entity["counterevidence"]))) + section("Thesis breakers", list(map(plain, entity["thesis_breakers"]))) + section("Next events", list(map(plain, entity["next_events"]))) + for case in validated["research_ledger"]: + section(plain(case["label"]), [ + f"{plain(case['decision'])} · {plain(case['summary'])}", + *[f"{plain(gate['label'])}: {plain(gate['status'])} · {plain(gate['summary'])}" for gate in case["gate_states"]], + "Evidence: " + ", ".join(map(plain, case["evidence_refs"])), + ]) + for event in validated["event_gates"]: + section(plain(event["label"]), [ + f"{plain(event['status'])} · {plain(event['observation_window'])}", + plain(event["frozen_hypothesis"]), + "Next review: " + plain(event["next_review"]), + ]) + for label, key in [("Observables", "observables"), ("Current evidence", "current_evidence"), + ("Supports", "supports"), ("Refutes", "refutes"), ("Thesis breakers", "thesis_breakers")]: + section(label, list(map(plain, event[key]))) + section("Artifacts", [ + f"{plain(item['label'])}: {plain(item['summary'])} · {plain(item['artifact_ref'])} · evidence: {', '.join(map(plain, item['evidence_refs']))}" + for item in validated["artifacts"] + ]) + method = validated["method_state"] + section("Method", [f"{plain(method['revision'])} · {plain(method['lifecycle_state'])} · active method changed: {str(method['active_method_changed']).lower()} · {plain(method['summary'])}"]) + lines.extend(["", render_source_period_metrics_markdown(validated)]) + return "\n".join(lines) + + +def build_decision_research_lark_card(view: Mapping[str, Any]) -> dict[str, Any]: + """Prepare a complete bounded card; sending requires the existing sink authority.""" + + markdown = render_decision_research_markdown(view) + if len(markdown.encode("utf-8")) > 18_000: + raise ValueError("Research exceeds card capacity; review the complete published result in App. No research was truncated or sent.") + return build_lark_markdown_reply_card( + markdown, + title="Finance research review", + template="yellow", + footer="Research aid only · no trading authority · method adoption is separate", + max_markdown_chars=len(markdown), + ) From 950d44789bc5c7109871336c36789de987036cbe Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:25:36 +0800 Subject: [PATCH 2/5] test: qualify research results through packaged and native surfaces Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../presentation-surface-schema-smoke.ts | 8 ++ examples/personal-workspace-browser-smoke.mjs | 2 + .../personal-workspace-browser/fixture.mjs | 3 +- .../research-results.mjs | 108 ++++++++++++++++++ .../test_finance_presentation_view.py | 51 +++++++++ tests/test_chat_server_cors.py | 4 + ...test_status_server_extension_projection.py | 29 ++++- 7 files changed, 199 insertions(+), 6 deletions(-) create mode 100644 examples/personal-workspace-browser/research-results.mjs diff --git a/apps/presentation/dashboard/smoke/presentation-surface-schema-smoke.ts b/apps/presentation/dashboard/smoke/presentation-surface-schema-smoke.ts index 159d761ac1..08b8f79c81 100644 --- a/apps/presentation/dashboard/smoke/presentation-surface-schema-smoke.ts +++ b/apps/presentation/dashboard/smoke/presentation-surface-schema-smoke.ts @@ -331,6 +331,14 @@ async function verifyProjectionFetchContract() { } assert(mismatchRejected, "projection identity mismatch must fail closed"); + let wrongGoalRejected = false; + try { + await fetchPresentationProjection("http://127.0.0.1:8765/extension-projection", { + ...matchingSurface, goal_id: "another-goal", + }); + } catch (error) {wrongGoalRejected = String(error).includes("does not match");} + assert(wrongGoalRejected, "matching revision/hash must not authorize another Goal’s result"); + let publicHostRejected = false; requestedUrl = ""; try { diff --git a/examples/personal-workspace-browser-smoke.mjs b/examples/personal-workspace-browser-smoke.mjs index 23066c0266..7d6ededc00 100644 --- a/examples/personal-workspace-browser-smoke.mjs +++ b/examples/personal-workspace-browser-smoke.mjs @@ -40,6 +40,7 @@ import { turnStepsScenario } from "./personal-workspace-browser/turn-steps.mjs"; import { monitorReadbackScenario } from "./personal-workspace-browser/monitor-readback.mjs"; import { teamEvidenceScenario } from "./personal-workspace-browser/team-evidence.mjs"; import { managedGoalResultsScenario } from "./personal-workspace-browser/managed-goal-results.mjs"; +import { researchResultsScenario } from "./personal-workspace-browser/research-results.mjs"; import { loopxModeScenario } from "./personal-workspace-browser/loopx-mode.mjs"; import { progressiveLoadingScenario } from "./personal-workspace-browser/progressive-loading.mjs"; import { stewardJourneyScenario } from "./personal-workspace-browser/steward-journey.mjs"; @@ -78,6 +79,7 @@ scenarioCatalog.push(blockedNoticeSettingsScenario); scenarioCatalog.push(nativeChildActivityScenario); scenarioCatalog.push(externalEvidenceReadbackScenario); scenarioCatalog.push(configurationBackupScenario); +scenarioCatalog.push(researchResultsScenario); const requestedScenario = process.env.LOOPX_PERSONAL_WORKSPACE_SCENARIO; const scenarios = requestedScenario ? scenarioCatalog.filter((scenario) => scenario.id === requestedScenario) diff --git a/examples/personal-workspace-browser/fixture.mjs b/examples/personal-workspace-browser/fixture.mjs index 7326fa376d..2f9dcd0af4 100644 --- a/examples/personal-workspace-browser/fixture.mjs +++ b/examples/personal-workspace-browser/fixture.mjs @@ -391,7 +391,7 @@ function filterStatusFixtureToScope(fixture, matchesScope) { } } -export async function installApi(page, { goalSubagentConfigurationEnabled = true, initialActionProposals = [], managerChannelBinding = null, notificationProjection = null, progressiveWorkspace = false, runtimeAgents = null } = {}) { +export async function installApi(page, { goalSubagentConfigurationEnabled = true, initialActionProposals = [], managerChannelBinding = null, notificationProjection = null, progressiveWorkspace = false, runtimeAgents = null, presentationApi = false } = {}) { let turnCounter = 0; const runtime = page.__loopxRuntime ??= { actionProposals: new Map(), goalSubagentConfigurations: new Map(), larkConnections: [], messages: new Map(), sessions: new Map(), turnMessages: new Map() }; const actionProposals = runtime.actionProposals; @@ -517,6 +517,7 @@ export async function installApi(page, { goalSubagentConfigurationEnabled = true ...(fixture.local_dashboard_api ?? {}), periodic_report_index_url: "/periodic-report-workspace", periodic_report_detail_url: "/periodic-report-workspace-projection", + ...(presentationApi ? {presentation_surfaces_url: "/extension-presentation-surfaces", presentation_detail_url: "/extension-projection"} : {}), }; for (const directoryGoal of directoryGoalFixtures) { if (state.deletedGoalIds.has(directoryGoal.id)) continue; diff --git a/examples/personal-workspace-browser/research-results.mjs b/examples/personal-workspace-browser/research-results.mjs new file mode 100644 index 0000000000..9e1e12eb68 --- /dev/null +++ b/examples/personal-workspace-browser/research-results.mjs @@ -0,0 +1,108 @@ +import assert from "node:assert/strict"; +import {readFile} from "node:fs/promises"; +import {resolve} from "node:path"; +import {outputDir, dashboardDir} from "./fixture.mjs"; +import {openWorkspacePage} from "./scenario-context.mjs"; + +export const researchResultsScenario = { + id: "research-results", + async run({browser, collectCoverage, url}) { + const fixture = JSON.parse(await readFile(resolve(dashboardDir, "src/data/fixtures/presentation-projection.example.json"))); + fixture.projection.goal_id = "product-release"; + fixture.projection.view.metrics.push({id: "precise-supply", label: "Reported supply", value: "123456789.1234567891 SYN", + detail: "Source height unknown; not a net flow measurement.", tone: "warning"}); + let mode = "ready"; + let reads = 0; + let indexes = 0; + const projection = fixture.projection; + const surface = { + extension_id: projection.extension_id, extension_revision: projection.extension_revision, + surface_id: projection.surface_id, surface_kind: projection.surface_kind, + title: "Investment Research", view_schema: projection.view_schema, visibility: "public-safe", + state: "review_due", goal_id: projection.goal_id, generated_at: projection.generated_at, + review_due_at: projection.review_due_at, diagnostic: null, + empty_state_title: "No validated research yet", empty_state_detail: "Publish a validated projection.", + detail_ref: {extension_id: projection.extension_id, extension_revision: projection.extension_revision, + surface_id: projection.surface_id, payload_sha256: projection.payload_sha256}, + }; + const context = await openWorkspacePage(browser, url, {collectCoverage, apiOptions: {presentationApi: true}, + beforeGoto: async (_, page) => { + await page.route("**/extension-presentation-surfaces", route => { + indexes++; + if (mode === "malformed") return route.fulfill({json: {ok: true}}); + const items = mode === "disabled" ? [] : [{...surface, visibility: mode === "owner-only" ? "owner-only" : "public-safe"}]; + return route.fulfill({json: {ok: true, presentation_surfaces: { + schema_version: "extension_presentation_surfaces_v0", count: items.length, ready_count: 0, + review_due_count: items.length, empty_count: 0, invalid_count: 0, items, + }}}); + }); + await page.route("**/extension-projection?**", route => { + reads++; + const query = new URL(route.request().url()).searchParams; + assert.equal(query.get("payload_sha256"), projection.payload_sha256); + assert.equal(query.get("extension_revision"), projection.extension_revision); + if (mode === "stale") return route.fulfill({status: 409, json: {error: "revision changed"}}); + return route.fulfill({json: {...fixture, projection: {...projection, + goal_id: mode === "wrong-goal" ? "research-monitor" : projection.goal_id}}}); + }); + }, + }); + const {page, api} = context; + try { + await page.locator(".personal-goal-link", {hasText: "Product Release"}).click(); + assert.equal(indexes, 0, "Research must remain lazy outside the results tab"); + await page.getByRole("navigation", {name: "Goal 视图"}).getByRole("button", {name: "成果", exact: true}).click(); + const results = page.getByRole("region", {name: "研究成果", exact: true}); + await results.getByText("123456789.1234567891 SYN", {exact: true}).waitFor(); + assert.match(await results.textContent(), /Insufficient Evidence/); + assert.match(await results.textContent(), /Counterevidence/); + assert.match(await results.textContent(), /Source height unknown/); + assert.match(await results.textContent(), /2026-01-15/); + assert.match(await results.textContent(), /review_due/); + assert.equal(reads, 1); + await page.screenshot({path: resolve(outputDir, "research-results-desktop.png"), animations: "disabled"}); + await page.setViewportSize({width: 390, height: 844}); + await results.scrollIntoViewIfNeeded(); + await page.screenshot({path: resolve(outputDir, "research-results-mobile.png"), animations: "disabled"}); + assert(await results.evaluate(el => el.scrollWidth <= el.clientWidth + 1), "Research must fit a phone: " + JSON.stringify(await results.evaluate(el => [...el.querySelectorAll("*")].filter(node => node.scrollWidth > node.clientWidth + 1).slice(0, 6).map(node => ({tag: node.tagName, css: node.className, text: node.textContent.slice(0,80), width: node.clientWidth, scroll: node.scrollWidth}))))); + const refresh = results.getByRole("button", {name: "刷新", exact: true}); + await refresh.focus(); + mode = "wrong-goal"; + await page.keyboard.press("Enter"); + await results.getByText(/does not match the requested detail_ref/).waitFor(); + assert.equal(await results.getByText("123456789.1234567891 SYN", {exact: true}).count(), 0); + mode = "stale"; + await refresh.click(); + await results.getByText(/HTTP 409/).waitFor(); + mode = "disabled"; + await refresh.click(); + await results.getByText("本 Goal 暂无可读取的公开研究成果。", {exact: true}).waitFor(); + const priorReads = reads; + mode = "owner-only"; + await refresh.click(); + await results.getByText("本 Goal 暂无可读取的公开研究成果。", {exact: true}).waitFor(); + assert.equal(reads, priorReads, "Owner-only details must never be fetched"); + mode = "malformed"; + await refresh.click(); + await results.getByRole("alert").waitFor(); + assert.equal(await results.getByText("123456789.1234567891 SYN", {exact: true}).count(), 0); + mode = "ready"; + await refresh.click(); + await results.getByText("123456789.1234567891 SYN", {exact: true}).waitFor(); + await page.setViewportSize({width: 1512, height: 982}); + await page.locator(".personal-goal-link", {hasText: "Research Monitor"}).click(); + await page.getByRole("navigation", {name: "Goal 视图"}).getByRole("button", {name: "成果", exact: true}).click(); + await results.getByText("本 Goal 暂无可读取的公开研究成果。", {exact: true}).waitFor(); + assert.equal(await results.getByText("123456789.1234567891 SYN", {exact: true}).count(), 0); + assert.equal(api.turnRequests.length, 0, "Reading research must not invoke a model"); + await page.evaluate(() => localStorage.setItem("loopx-pw-locale", "en")); + await page.reload({waitUntil: "networkidle"}); + await page.locator(".personal-goal-link", {hasText: "Product Release"}).click(); + await page.getByRole("button", {name: "Files", exact: true}).click(); + const english = page.getByRole("region", {name: "Research results", exact: true}); + await english.getByText("123456789.1234567891 SYN", {exact: true}).waitFor(); + assert.match(await english.textContent(), /counterevidence and open questions/); + return {note: "Packaged results consume Goal-scoped public research, preserve uncertainty, and clear stale/disabled/wrong-Goal contents; scripted API fixture", coverageEntries: await context.close()}; + } finally {if (!page.isClosed()) await context.close();} + }, +}; diff --git a/tests/extensions/test_finance_presentation_view.py b/tests/extensions/test_finance_presentation_view.py index da27b289ff..0cdde1a802 100644 --- a/tests/extensions/test_finance_presentation_view.py +++ b/tests/extensions/test_finance_presentation_view.py @@ -15,6 +15,7 @@ validate_decision_research_view, ) from loopx_finance_value_discovery.lark_projection import ( # noqa: E402 + build_decision_research_lark_card, build_source_period_metrics_lark_card, ) @@ -334,6 +335,56 @@ def test_lark_card_calls_missing_period_evidence_missing_not_zero() -> None: assert "missing (not zero)" in markdown +def test_research_card_without_period_metrics_keeps_review_basis() -> None: + view = _valid_view() + view["metrics"].append({ + "id": "supply", "label": "Reported supply", "value": "123456789.1234567891 SYN", + "detail": "No source as-of height was provided; not a flow measurement.", "tone": "warning", + }) + frozen = deepcopy(view) + card = build_decision_research_lark_card(view) + markdown = card["elements"][0]["text"]["content"] + assert "Insufficient Evidence" in markdown + assert "2026-01-15T12:00:00+00:00" in markdown + assert "123456789.1234567891 SYN" in markdown + assert "not a flow measurement" in markdown + assert "Counterevidence" in markdown and "Capital intensity" in markdown + assert "Refutes" in markdown and "Higher capital expenditure" in markdown + assert "Next review: After the official filing" in markdown + assert "artifact:synthetic-research-packet" in markdown + assert "active method changed: false" in markdown + assert "trading allowed: false" in markdown + assert "No source-period metrics" in markdown + assert "truncated" not in markdown + assert view == frozen + + +def test_research_card_does_not_silently_cut_counterevidence_for_capacity() -> None: + view = _valid_view() + original = view["entities"][0] + view["entities"] = [] + for index in range(3): + entity = deepcopy(original) + entity["entity_id"] = f"synthetic-{index}" + entity["counterevidence"] = ["Unknown source boundary " * 24] * 12 + view["entities"].append(entity) + validate_decision_research_view(view) + with pytest.raises(ValueError, match="exceeds card capacity"): + build_decision_research_lark_card(view) + + +def test_period_card_keeps_source_numeric_precision() -> None: + view = _valid_view() + metric = _source_period_metric() + metric["value"] = 123456789.123456 + view["source_period_metrics"] = [metric] + view["spot_market_identity"] = _spot_market_identity() + view["spot_market_identity"]["contexts"][0]["mark_price"] = 12.123456789 + card = build_decision_research_lark_card(view) + assert "123456789.123456 USD" in card["elements"][0]["text"]["content"] + assert "12.123456789" in card["elements"][0]["text"]["content"] + + def test_lark_card_escapes_dynamic_markdown_without_changing_the_view() -> None: view = _valid_view() metric = _source_period_metric() diff --git a/tests/test_chat_server_cors.py b/tests/test_chat_server_cors.py index 1663cb1842..beb65cf77d 100644 --- a/tests/test_chat_server_cors.py +++ b/tests/test_chat_server_cors.py @@ -267,7 +267,11 @@ def fake_collect_status(**kwargs): payload = json.loads(response.read().decode("utf-8")) assert response.status == 200 + api = payload.pop("local_dashboard_api") assert payload == {"ok": True, "scope": "active"} + assert api["source"] == "chat" + assert api["presentation_surfaces_url"] == "/extension-presentation-surfaces" + assert api["presentation_detail_url"] == "/extension-projection" assert calls[0]["activation_state_filter"] == "active" assert calls[0]["include_goal_subagent_configuration"] is True finally: diff --git a/tests/test_status_server_extension_projection.py b/tests/test_status_server_extension_projection.py index 7d206c62e4..0f36adbd52 100644 --- a/tests/test_status_server_extension_projection.py +++ b/tests/test_status_server_extension_projection.py @@ -10,6 +10,10 @@ import urllib.parse import urllib.request +import pytest + +from loopx.chat_server import ChatHTTPServer, ChatRequestHandler + from loopx.extensions.presentation import publish_extension_projection from loopx.extensions.runtime import default_extension_state_file, install_extension from loopx.status_server import ( @@ -119,6 +123,7 @@ def _published_projection_server( tmp_path: Path, *, visibility: str = "public-safe", + chat: bool = False, ) -> Iterator[tuple[str, dict[str, object], dict[str, object]]]: runtime_root = tmp_path / "runtime" registry = tmp_path / "registry.json" @@ -144,9 +149,12 @@ def _published_projection_server( execute=True, ) - server = StatusHTTPServer(("127.0.0.1", 0), StatusRequestHandler) + server = (ChatHTTPServer(("127.0.0.1", 0), ChatRequestHandler) if chat + else StatusHTTPServer(("127.0.0.1", 0), StatusRequestHandler)) server.registry_path = registry server.runtime_root_override = None + server.runtime_root = runtime_root + server.selected_goal_id = None server.scan_roots = [tmp_path] server.limit = 5 server.status_path = DEFAULT_STATUS_PATH @@ -168,11 +176,15 @@ def _published_projection_server( server.server_close() +@pytest.mark.parametrize("chat", [False, True]) def test_status_server_advertises_and_serves_projection_by_exact_ref( tmp_path: Path, + chat: bool, ) -> None: - with _published_projection_server(tmp_path) as (base_url, installed, receipt): - status, capabilities = _request_json(f"{base_url}/") + with _published_projection_server(tmp_path, chat=chat) as (base_url, installed, receipt): + status, capabilities = _request_json(f"{base_url}/status.json" if chat else f"{base_url}/") + if chat: + capabilities = capabilities["local_dashboard_api"] assert status == 200 assert capabilities["presentation_surfaces_url"] == ( @@ -217,10 +229,12 @@ def test_status_server_advertises_and_serves_projection_by_exact_ref( } +@pytest.mark.parametrize("chat", [False, True]) def test_status_server_projection_route_rejects_non_loopback_origin( tmp_path: Path, + chat: bool, ) -> None: - with _published_projection_server(tmp_path) as (base_url, installed, receipt): + with _published_projection_server(tmp_path, chat=chat) as (base_url, installed, receipt): query = urllib.parse.urlencode( { "extension_id": "test-research-extension", @@ -241,12 +255,15 @@ def test_status_server_projection_route_rejects_non_loopback_origin( } +@pytest.mark.parametrize("chat", [False, True]) def test_status_server_projection_route_rejects_owner_only_surface( tmp_path: Path, + chat: bool, ) -> None: with _published_projection_server( tmp_path, visibility="owner-only", + chat=chat, ) as (base_url, installed, receipt): query = urllib.parse.urlencode( { @@ -268,10 +285,12 @@ def test_status_server_projection_route_rejects_owner_only_surface( ) +@pytest.mark.parametrize("chat", [False, True]) def test_status_server_projection_route_requires_complete_detail_ref( tmp_path: Path, + chat: bool, ) -> None: - with _published_projection_server(tmp_path) as (base_url, _installed, _receipt): + with _published_projection_server(tmp_path, chat=chat) as (base_url, _installed, _receipt): status, payload = _request_json( f"{base_url}{DEFAULT_EXTENSION_PROJECTION_PATH}?extension_id=test-research-extension", origin="http://localhost:5173", From 9077f5f32fb3b7f7bc2a7418ac3bd0d7521c780d Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:25:36 +0800 Subject: [PATCH 3/5] docs: describe published research review and delivery boundaries Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../loopx-finance-value-discovery/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/loopx-finance-value-discovery/README.md b/packages/loopx-finance-value-discovery/README.md index a8b8a48caf..12eb093f6f 100644 --- a/packages/loopx-finance-value-discovery/README.md +++ b/packages/loopx-finance-value-discovery/README.md @@ -243,6 +243,25 @@ a separate readiness rule. 中文:该命令只生成卡片、不发消息; `loopx extension disable loopx-finance-value-discovery --execute`;若只回退 期次指标,删除可选字段并重新发布旧 view 即可。 +The Goal's **Files & Outputs** tab loads the published research only when +opened. Chat and `serve-status` expose the same extension index and exact +revision/hash readback. Only a public-safe view belonging to that Goal is +rendered; refresh clears previous content when the read fails or the extension +is disabled. Research availability does not certify an economic conclusion. + +`render-lark-card` includes the canonical adjudication, original evidence +clocks, exact metric strings, counterevidence, event review conditions and +artifact references, even when no source-period metrics exist. It rejects a +research card exceeding 18,000 UTF-8 bytes rather than silently cutting its +review basis. The existing source-period-only Python renderer remains available. +For an exact published receipt, render its Core-validated `view` with +`build_decision_research_lark_card`; rebuilding an input is not publication +readback, and preparing a card is not sending or adopting a method. + +中文:Goal 的“成果”页按需读取已发布的研究,绑定当前 Goal、扩展版本和内容摘要; +读取失败或停用时清除旧内容。通知卡保留研究结论、反证、未知、原始时点和下一步, +没有期次指标也可显示;超过容量时拒绝裁切。卡片准备、外部送达和方法采用分别验收。 + ## Worked Method: How PayPal Surfaced The historical PayPal exercise started with a fresh de-beta scout, not a From 7e0fa73324916815c684abcf17564cfed1cf7eb5 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:36:39 +0800 Subject: [PATCH 4/5] test: pair packaged research with isolated native publication Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../dashboard/src/data/decision-research.ts | 9 ++++++- .../personal-workspace-browser/fixture.mjs | 5 +++- .../research-results.mjs | 24 ++++++++++++++----- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/apps/presentation/dashboard/src/data/decision-research.ts b/apps/presentation/dashboard/src/data/decision-research.ts index ce324997b3..a11780a5ea 100644 --- a/apps/presentation/dashboard/src/data/decision-research.ts +++ b/apps/presentation/dashboard/src/data/decision-research.ts @@ -415,7 +415,14 @@ export async function fetchPresentationProjection( target.searchParams.set("payload_sha256", surface.detail_ref.payload_sha256); const response = await fetch(target.toString(), { cache: "no-store" }); if (!response.ok) { - throw new Error(`HTTP ${response.status} while loading projection`); + let detail = ""; + try { + const failure: unknown = await response.json(); + if (typeof failure === "object" && failure !== null && "error" in failure && typeof failure.error === "string") { + detail = `: ${failure.error.slice(0, 300)}`; + } + } catch { /* A malformed error response still clears the previous view. */ } + throw new Error(`HTTP ${response.status} while loading projection${detail}`); } const projection = parsePresentationProjection(await response.json()); const expectedIdentity = surface.detail_ref; diff --git a/examples/personal-workspace-browser/fixture.mjs b/examples/personal-workspace-browser/fixture.mjs index 2f9dcd0af4..7c8c507b65 100644 --- a/examples/personal-workspace-browser/fixture.mjs +++ b/examples/personal-workspace-browser/fixture.mjs @@ -517,7 +517,10 @@ export async function installApi(page, { goalSubagentConfigurationEnabled = true ...(fixture.local_dashboard_api ?? {}), periodic_report_index_url: "/periodic-report-workspace", periodic_report_detail_url: "/periodic-report-workspace-projection", - ...(presentationApi ? {presentation_surfaces_url: "/extension-presentation-surfaces", presentation_detail_url: "/extension-projection"} : {}), + ...(presentationApi ? { + presentation_surfaces_url: `${typeof presentationApi === "string" ? presentationApi : ""}/extension-presentation-surfaces`, + presentation_detail_url: `${typeof presentationApi === "string" ? presentationApi : ""}/extension-projection`, + } : {}), }; for (const directoryGoal of directoryGoalFixtures) { if (state.deletedGoalIds.has(directoryGoal.id)) continue; diff --git a/examples/personal-workspace-browser/research-results.mjs b/examples/personal-workspace-browser/research-results.mjs index 9e1e12eb68..e6dd80ae98 100644 --- a/examples/personal-workspace-browser/research-results.mjs +++ b/examples/personal-workspace-browser/research-results.mjs @@ -7,15 +7,15 @@ import {openWorkspacePage} from "./scenario-context.mjs"; export const researchResultsScenario = { id: "research-results", async run({browser, collectCoverage, url}) { - const fixture = JSON.parse(await readFile(resolve(dashboardDir, "src/data/fixtures/presentation-projection.example.json"))); + let fixture = JSON.parse(await readFile(resolve(dashboardDir, "src/data/fixtures/presentation-projection.example.json"))); fixture.projection.goal_id = "product-release"; fixture.projection.view.metrics.push({id: "precise-supply", label: "Reported supply", value: "123456789.1234567891 SYN", detail: "Source height unknown; not a net flow measurement.", tone: "warning"}); let mode = "ready"; let reads = 0; let indexes = 0; - const projection = fixture.projection; - const surface = { + let projection = fixture.projection; + let surface = { extension_id: projection.extension_id, extension_revision: projection.extension_revision, surface_id: projection.surface_id, surface_kind: projection.surface_kind, title: "Investment Research", view_schema: projection.view_schema, visibility: "public-safe", @@ -25,10 +25,19 @@ export const researchResultsScenario = { detail_ref: {extension_id: projection.extension_id, extension_revision: projection.extension_revision, surface_id: projection.surface_id, payload_sha256: projection.payload_sha256}, }; - const context = await openWorkspacePage(browser, url, {collectCoverage, apiOptions: {presentationApi: true}, + const nativeUrl = process.env.LOOPX_RESEARCH_NATIVE_URL; + if (nativeUrl) { + const collection = await (await fetch(`${nativeUrl}/extension-presentation-surfaces`)).json(); + surface = collection.presentation_surfaces.items.find(item => item.goal_id === "product-release"); + assert(surface, "An explicitly supplied isolated native fixture must publish product-release research"); + fixture = await (await fetch(`${nativeUrl}/extension-projection?${new URLSearchParams(surface.detail_ref)}`)).json(); + projection = fixture.projection; + } + const context = await openWorkspacePage(browser, url, {collectCoverage, apiOptions: {presentationApi: nativeUrl ?? true}, beforeGoto: async (_, page) => { await page.route("**/extension-presentation-surfaces", route => { indexes++; + if (nativeUrl && mode === "ready") return route.continue(); if (mode === "malformed") return route.fulfill({json: {ok: true}}); const items = mode === "disabled" ? [] : [{...surface, visibility: mode === "owner-only" ? "owner-only" : "public-safe"}]; return route.fulfill({json: {ok: true, presentation_surfaces: { @@ -41,6 +50,7 @@ export const researchResultsScenario = { const query = new URL(route.request().url()).searchParams; assert.equal(query.get("payload_sha256"), projection.payload_sha256); assert.equal(query.get("extension_revision"), projection.extension_revision); + if (nativeUrl && mode === "ready") return route.continue(); if (mode === "stale") return route.fulfill({status: 409, json: {error: "revision changed"}}); return route.fulfill({json: {...fixture, projection: {...projection, goal_id: mode === "wrong-goal" ? "research-monitor" : projection.goal_id}}}); @@ -60,6 +70,7 @@ export const researchResultsScenario = { assert.match(await results.textContent(), /2026-01-15/); assert.match(await results.textContent(), /review_due/); assert.equal(reads, 1); + assert.equal(await results.getByTestId("research-detail-ref-hash").textContent(), projection.payload_sha256); await page.screenshot({path: resolve(outputDir, "research-results-desktop.png"), animations: "disabled"}); await page.setViewportSize({width: 390, height: 844}); await results.scrollIntoViewIfNeeded(); @@ -73,7 +84,7 @@ export const researchResultsScenario = { assert.equal(await results.getByText("123456789.1234567891 SYN", {exact: true}).count(), 0); mode = "stale"; await refresh.click(); - await results.getByText(/HTTP 409/).waitFor(); + await results.getByText(/HTTP 409.*revision changed/).waitFor(); mode = "disabled"; await refresh.click(); await results.getByText("本 Goal 暂无可读取的公开研究成果。", {exact: true}).waitFor(); @@ -102,7 +113,8 @@ export const researchResultsScenario = { const english = page.getByRole("region", {name: "Research results", exact: true}); await english.getByText("123456789.1234567891 SYN", {exact: true}).waitFor(); assert.match(await english.textContent(), /counterevidence and open questions/); - return {note: "Packaged results consume Goal-scoped public research, preserve uncertainty, and clear stale/disabled/wrong-Goal contents; scripted API fixture", coverageEntries: await context.close()}; + return {note: `Packaged results consume Goal-scoped public research, preserve uncertainty, and clear stale/disabled/wrong-Goal contents; ${nativeUrl ? "real isolated Core publication/HTTP, scripted Goal directory and corruption cases" : "scripted API fixture"}`, + projectionSha256: projection.payload_sha256, coverageEntries: await context.close()}; } finally {if (!page.isClosed()) await context.close();} }, }; From 4bb30c486cad47c71c2b743c445bdf4f4c68b8af Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:43:39 +0800 Subject: [PATCH 5/5] docs: show synthetic research results on desktop and mobile Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../research-results-desktop.png | Bin 0 -> 124713 bytes .../research-results-mobile.png | Bin 0 -> 54426 bytes .../loopx-finance-value-discovery/README.md | 5 +++++ 3 files changed, 5 insertions(+) create mode 100644 docs/assets/personal-workspace/research-results-desktop.png create mode 100644 docs/assets/personal-workspace/research-results-mobile.png diff --git a/docs/assets/personal-workspace/research-results-desktop.png b/docs/assets/personal-workspace/research-results-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6bcc82aa1a14ef50fb27450df911658f53e7e7 GIT binary patch literal 124713 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 z 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

ABi-h}3rc7AZKafGl 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