diff --git a/.codex/hooks/omx/post-tool-use.mjs b/.codex/hooks/omx/post-tool-use.mjs deleted file mode 100644 index adbc44b3..00000000 --- a/.codex/hooks/omx/post-tool-use.mjs +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env node -import { appendFileSync, mkdirSync, readFileSync } from "node:fs"; -import { join } from "node:path"; -import { execSync } from "node:child_process"; - -function rootDir() { - try { - return execSync("git rev-parse --show-toplevel", { - cwd: process.cwd(), - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }).trim(); - } catch { - return process.cwd(); - } -} - -function readStdin() { - try { - return JSON.parse(readFileSync(0, "utf8") || "{}"); - } catch { - return {}; - } -} - -const payload = readStdin(); -const root = rootDir(); -mkdirSync(join(root, ".omx", "logs"), { recursive: true }); -const exitCode = - typeof payload?.tool_output?.exit_code === "number" - ? payload.tool_output.exit_code - : typeof payload?.exit_code === "number" - ? payload.exit_code - : null; -const status = exitCode ?? "unknown"; -const isExplicitBashFailure = payload?.tool_name === "Bash" && exitCode !== null && exitCode !== 0; -appendFileSync( - join(root, ".omx", "logs", "hooks.log"), - `${new Date().toISOString()} PostToolUse status=${status} ${JSON.stringify(payload)}\n`, - "utf8", -); - -process.stdout.write(JSON.stringify({ - continue: true, - hookSpecificOutput: { - hookEventName: "PostToolUse", - additionalContext: isExplicitBashFailure ? "OMX noticed a failing Bash command. Check the team inbox or diagnostics." : "", - }, -})); diff --git a/.codex/hooks/omx/pre-tool-use.mjs b/.codex/hooks/omx/pre-tool-use.mjs deleted file mode 100644 index 0def4813..00000000 --- a/.codex/hooks/omx/pre-tool-use.mjs +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env node -import { readFileSync } from "node:fs"; - -function readStdin() { - try { - return JSON.parse(readFileSync(0, "utf8") || "{}"); - } catch { - return {}; - } -} - -const payload = readStdin(); -const command = JSON.stringify(payload).toLowerCase(); -const blocked = [ - "rm -rf /", - "mkfs", - "dd if=", - "shutdown", - "reboot", - "poweroff", - "git reset --hard", -]; - -if (blocked.some((token) => command.includes(token))) { - process.stdout.write(JSON.stringify({ - decision: "block", - reason: "OMX safety hook blocked an obviously destructive command.", - })); - process.exit(0); -} - -process.stdout.write(JSON.stringify({ - continue: true, - hookSpecificOutput: { - hookEventName: "PreToolUse", - }, -})); diff --git a/.codex/hooks/omx/session-start.mjs b/.codex/hooks/omx/session-start.mjs deleted file mode 100644 index 354631f4..00000000 --- a/.codex/hooks/omx/session-start.mjs +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env node -import { appendFileSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; -import { dirname, join } from "node:path"; -import { execSync } from "node:child_process"; - -function rootDir() { - try { - return execSync("git rev-parse --show-toplevel", { - cwd: process.cwd(), - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }).trim(); - } catch { - return process.cwd(); - } -} - -function readStdin() { - try { - return JSON.parse(readFileSync(0, "utf8") || "{}"); - } catch { - return {}; - } -} - -function readJson(path, fallback) { - try { - return JSON.parse(readFileSync(path, "utf8")); - } catch { - return fallback; - } -} - -function writeJson(path, value) { - mkdirSync(dirname(path), { recursive: true }); - writeFileSync(path, JSON.stringify(value, null, 2), "utf8"); -} - -const root = rootDir(); -const payload = readStdin(); -const omx = join(root, ".omx"); -mkdirSync(join(omx, "logs"), { recursive: true }); -appendFileSync(join(omx, "logs", "hooks.log"), `${new Date().toISOString()} SessionStart ${JSON.stringify(payload)}\n`, "utf8"); - -const runtimePath = join(omx, "state", "hook-runtime.json"); -const runtime = readJson(runtimePath, {}); -writeJson(runtimePath, { - ...runtime, - lastSessionStartAt: new Date().toISOString(), -}); - -process.stdout.write(JSON.stringify({ - continue: true, - hookSpecificOutput: { - hookEventName: "SessionStart", - additionalContext: "", - }, -})); diff --git a/.codex/hooks/omx/stop.mjs b/.codex/hooks/omx/stop.mjs deleted file mode 100644 index a11f5eb9..00000000 --- a/.codex/hooks/omx/stop.mjs +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env node -import { appendFileSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; -import { dirname, join } from "node:path"; -import { execSync } from "node:child_process"; - -function rootDir() { - try { - return execSync("git rev-parse --show-toplevel", { - cwd: process.cwd(), - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }).trim(); - } catch { - return process.cwd(); - } -} - -function readStdin() { - try { - return JSON.parse(readFileSync(0, "utf8") || "{}"); - } catch { - return {}; - } -} - -function readJson(path, fallback) { - try { - return JSON.parse(readFileSync(path, "utf8")); - } catch { - return fallback; - } -} - -function writeJson(path, value) { - mkdirSync(dirname(path), { recursive: true }); - writeFileSync(path, JSON.stringify(value, null, 2), "utf8"); -} - -const root = rootDir(); -const payload = readStdin(); -const omx = join(root, ".omx"); -mkdirSync(join(omx, "logs"), { recursive: true }); -appendFileSync(join(omx, "logs", "hooks.log"), `${new Date().toISOString()} Stop ${JSON.stringify(payload)}\n`, "utf8"); - -const runtimePath = join(omx, "state", "hook-runtime.json"); -const runtime = readJson(runtimePath, {}); -writeJson(runtimePath, { - ...runtime, - lastStopAt: new Date().toISOString(), -}); - -process.stdout.write(JSON.stringify({ - continue: true, -})); diff --git a/.codex/hooks/omx/user-prompt-submit.mjs b/.codex/hooks/omx/user-prompt-submit.mjs deleted file mode 100644 index ce6c3cef..00000000 --- a/.codex/hooks/omx/user-prompt-submit.mjs +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env node -import { appendFileSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; -import { dirname, join } from "node:path"; -import { execSync } from "node:child_process"; - -function rootDir() { - try { - return execSync("git rev-parse --show-toplevel", { - cwd: process.cwd(), - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }).trim(); - } catch { - return process.cwd(); - } -} - -function readStdin() { - try { - return JSON.parse(readFileSync(0, "utf8") || "{}"); - } catch { - return {}; - } -} - -function readJson(path, fallback) { - try { - return JSON.parse(readFileSync(path, "utf8")); - } catch { - return fallback; - } -} - -function writeJson(path, value) { - mkdirSync(dirname(path), { recursive: true }); - writeFileSync(path, JSON.stringify(value, null, 2), "utf8"); -} - -const root = rootDir(); -const payload = readStdin(); -const omx = join(root, ".omx"); -mkdirSync(join(omx, "logs"), { recursive: true }); -appendFileSync(join(omx, "logs", "hooks.log"), `${new Date().toISOString()} UserPromptSubmit ${JSON.stringify(payload)}\n`, "utf8"); - -const runtimePath = join(omx, "state", "hook-runtime.json"); -const runtime = readJson(runtimePath, {}); -writeJson(runtimePath, { - ...runtime, - lastPromptAt: new Date().toISOString(), -}); - -process.stdout.write(JSON.stringify({ - continue: true, - hookSpecificOutput: { - hookEventName: "UserPromptSubmit", - additionalContext: "", - }, -})); diff --git a/.harness-active b/.harness-active index 8b137891..584c8478 100644 --- a/.harness-active +++ b/.harness-active @@ -1 +1 @@ - +active diff --git a/harness-progress.txt b/harness-progress.txt index 4981d31e..58b7c545 100644 --- a/harness-progress.txt +++ b/harness-progress.txt @@ -1 +1,115 @@ [2026-04-14T05:21:15Z] [SESSION-0] INIT Harness initialized for project /mnt/Data1T/mnote +[[2026-04-14T05:26:16Z] [SESSION-0] INIT Added [task-001] via harness add +[2026-04-14T05:27:30Z] [SESSION-0] WARN Previous log line has malformed prefix from add command; corrected entry appended +[2026-04-14T05:27:30Z] [SESSION-0] INIT Added [task-001] via harness add +[2026-04-14T05:34:11Z] [SESSION-1] LOCK acquired (pid=2142754) +[2026-04-14T05:34:11Z] [SESSION-1] INIT Environment health check: PASS +[2026-04-14T05:34:11Z] [SESSION-1] Starting [task-001] 请参考/mnt/Data1T/mnote/design/rust-kernel-backport-plan.md完成单仓收口 Rust 内核回迁计划,这是详细checklist/mnt/Data1T/mnote/design/rust-kernel-backport-phase-checklist.md,里面已经完成了部分内容,你需要继续完成 (base=fc26ed21) +[2026-04-14T05:40:04Z] [SESSION-1] CHECKPOINT [task-001] step=1/4 "完成 Rust 协议层对 documents.meta/content/save 的建模与映射,cargo test/check 已通过" +[2026-04-14T05:40:04Z] [SESSION-1] ERROR [task-001] [CONFIG] Missing validation.command for umbrella task; execution decomposed into task-002..task-004 +[2026-04-14T05:40:04Z] [SESSION-1] Starting [task-002] 补齐 Rust core-protocol/storage-convex-bridge 对 documents.meta/content/save 的协议与映射 (base=fc26ed21) +[2026-04-14T05:40:04Z] [SESSION-1] CHECKPOINT [task-002] step=1/1 "已补齐 documents.meta.get / documents.content.get / documents.save 的 Rust 协议对象、Convex 映射与单测" +[2026-04-14T05:40:04Z] [SESSION-1] Completed [task-002] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T05:40:04Z] [SESSION-1] STATS tasks_total=4 completed=1 failed=1 pending=2 blocked=0 attempts_total=2 checkpoints=2 +[2026-04-14T05:40:04Z] [SESSION-1] LOCK released +[2026-04-14T05:42:39Z] [SESSION-1] WARN Structured state synchronized after session-1 shell export bug; future Rust validation switched to CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness +[2026-04-14T05:42:53Z] [SESSION-2] LOCK acquired (pid=2188805) +[2026-04-14T05:42:53Z] [SESSION-2] INIT Environment health check: PASS +[2026-04-14T05:42:53Z] [SESSION-2] Starting [task-003] 为 blocks.patch 与正文保存补最小 Rust command 协议和 storage-convex-bridge 映射 (base=fc26ed21) +[2026-04-14T05:43:41Z] [SESSION-2] CHECKPOINT [task-003] step=1/2 "已把 blocks.patch 映射纳入 storage-convex-bridge,目标仍对齐当前 documents:updateContent 写链" +[2026-04-14T05:43:54Z] [SESSION-2] CHECKPOINT [task-003] step=2/2 "storage-convex-bridge 单测与 workspace cargo check 已通过" +[2026-04-14T05:43:54Z] [SESSION-2] Completed [task-003] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T05:43:54Z] [SESSION-2] STATS tasks_total=4 completed=2 failed=1 pending=1 blocked=0 attempts_total=3 checkpoints=4 +[2026-04-14T05:43:54Z] [SESSION-2] LOCK released +[2026-04-14T06:09:58Z] [SESSION-3] LOCK acquired (pid=manual-sync) +[2026-04-14T06:09:58Z] [SESSION-3] INIT Environment health check: PASS +[2026-04-14T06:09:58Z] [SESSION-3] INFO Previous early stop root cause confirmed: umbrella task lacked validation.command and prior run ended after task-003 without continuing to next eligible task +[2026-04-14T06:10:01Z] [SESSION-3] Starting [task-004] 为 sidebar.dataset.list 固定 Rust query 契约并对齐 SidebarInitialData 聚合边界 (base=fc26ed21) +[2026-04-14T06:10:45Z] [SESSION-3] CHECKPOINT [task-004] step=1/2 "已为 sidebar.dataset.list 冻结共享 query payload/result 契约,并让 route、server helper、实时 hook 复用同一映射边界" +[2026-04-14T06:11:23Z] [SESSION-3] CHECKPOINT [task-004] step=2/2 "pnpm test src/lib/sidebar-data.test.ts 与定向 eslint 已通过,Sidebar 聚合边界收口完成" +[2026-04-14T06:11:23Z] [SESSION-3] Completed [task-004] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T06:14:52Z] [SESSION-3] Starting [task-005] 为 documents.save 固定共享 payload 契约并抽出 save command adapter,收口正文保存前后端边界 (base=fc26ed21) +[2026-04-14T06:15:20Z] [SESSION-3] CHECKPOINT [task-005] step=1/2 "已新增 documents.save 共享 payload contract,补齐 revision/conflictDetectionKey 的最小边界并让 BlockNote 保存请求复用" +[2026-04-14T06:16:40Z] [SESSION-3] CHECKPOINT [task-005] step=2/2 "save-contract/bridge 定向测试与 eslint 已通过,正文保存 route 已抽出 save command adapter" +[2026-04-14T06:16:40Z] [SESSION-3] Completed [task-005] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T06:18:30Z] [SESSION-3] STATS tasks_total=6 completed=4 failed=1 pending=1 blocked=0 attempts_total=5 checkpoints=8 +[2026-04-14T06:18:30Z] [SESSION-3] LOCK released +[2026-04-14T06:42:18Z] [SESSION-4] CHECKPOINT [task-006] step=1/2 "已补 documents.content/save 的 revision 与 conflictDetectionKey 链路,并让 BlockNote 保存时携带快照采集元数据" +[2026-04-14T06:44:13Z] [SESSION-4] CHECKPOINT [task-006] step=2/2 "已通过 save-contract/bridge 定向测试,正文保存冲突会返回稳定 bridge 错误,checklist 已同步到 C3" +[2026-04-14T06:44:13Z] [SESSION-4] Completed [task-006] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T06:44:13Z] [SESSION-4] STATS tasks_total=6 completed=5 failed=1 pending=0 blocked=0 attempts_total=6 checkpoints=9 +[2026-04-14T06:44:13Z] [SESSION-4] LOCK released +[2026-04-14T06:47:35Z] [SESSION-4] INIT Added [task-007] via harness add +[2026-04-14T07:25:47Z] [SESSION-5] LOCK acquired (pid=2564404) +[2026-04-14T07:25:48Z] [SESSION-5] INIT Environment health check: PASS +[2026-04-14T07:25:49Z] [SESSION-5] Starting [task-007] 请完成该checklist /mnt/Data1T/mnote/design/rust-kernel-backport-phase-checklist.md (base=fc26ed21) +[2026-04-14T07:25:50Z] [SESSION-5] CHECKPOINT [task-007] step=1/2 "确认该 checklist 为 umbrella 任务,拆分为 task-008..task-017 的可验证子任务" +[2026-04-14T07:25:51Z] [SESSION-5] ERROR [task-007] [CONFIG] Missing validation.command for umbrella task; execution decomposed into task-008..task-017 +[2026-04-14T07:25:52Z] [SESSION-5] Starting [task-008] 统一单仓执行口径并补主仓维护边界文档,清理 ARCHITECTURE 中残留的 mnote-rust 承载叙事 (base=fc26ed21) +[2026-04-14T07:25:54Z] [SESSION-5] CHECKPOINT [task-008] step=1/1 "已新增单仓维护边界文档,并同步 ARCHITECTURE/plan/checklist 的主仓执行口径" +[2026-04-14T07:25:55Z] [SESSION-5] Completed [task-008] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:25:55Z] [SESSION-5] Starting [task-009] 固定 Mindmap 与 OnlyOffice 当前边界,明确历史仓对象页壳与第二套 sidebar 不进入主线 (base=fc26ed21) +[2026-04-14T07:25:56Z] [SESSION-5] CHECKPOINT [task-009] step=1/1 "已新增 Mindmap/OnlyOffice 边界说明,并把 Phase D 中可由源码证明的项补到账" +[2026-04-14T07:25:57Z] [SESSION-5] Completed [task-009] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:25:57Z] [SESSION-5] Starting [task-010] 冻结 Sidebar Rust query 目标文档,收口 sidebar.dataset.list 的最小 payload/result 契约 (base=fc26ed21) +[2026-04-14T07:25:58Z] [SESSION-5] CHECKPOINT [task-010] step=1/1 "已把 Sidebar Rust query 接入目标、前后端职责边界与禁止事项固定成独立文档" +[2026-04-14T07:25:59Z] [SESSION-5] Completed [task-010] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:25:59Z] [SESSION-5] Starting [task-011] 补主仓回迁资产与发布前源码审计文档,完成单仓启动路径、保存口径、trace 一致性与禁止事项复查 (base=fc26ed21) +[2026-04-14T07:26:00Z] [SESSION-5] CHECKPOINT [task-011] step=1/1 "已新增回迁资产清单与发布前源代码审计文档,并同步发布前 checklist 中源码可验证项" +[2026-04-14T07:26:01Z] [SESSION-5] Completed [task-011] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:26:01Z] [SESSION-5] Starting [task-012] 补 documents.save 成功路径 bridge 单测,确认低风险保存模式、identity 口径与回查链闭环 (base=fc26ed21) +[2026-04-14T07:26:02Z] [SESSION-5] CHECKPOINT [task-012] step=1/1 "已补 documents.save 成功路径 bridge 测试,并把 C3 的低风险保存模式、identity 口径与可回查项同步到 checklist" +[2026-04-14T07:26:03Z] [SESSION-5] Completed [task-012] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:26:05Z] [SESSION-5] STATS tasks_total=17 completed=10 failed=2 pending=5 blocked=0 attempts_total=12 checkpoints=15 +[2026-04-14T07:26:06Z] [SESSION-5] LOCK released +[2026-04-14T07:42:15Z] [SESSION-6] LOCK acquired (pid=2803230) +[2026-04-14T07:42:15Z] [SESSION-6] INIT Environment health check: PASS +[2026-04-14T07:42:15Z] [SESSION-6] Starting [task-013] 将至少一条 Sidebar 主查询改为真实 Rust query 供给,并验证文档树/文件树/回收站语义不变 (base=fc26ed21) +[2026-04-14T07:56:00Z] [SESSION-6] CHECKPOINT [task-013] step=1/1 "已新增单个 sidebar.datasetList 主查询,并让 server helper / 实时 hook 统一消费该数据集;sidebar-data/file-tree 定向测试、eslint 与 storage-convex-bridge 单测通过" +[2026-04-14T07:56:00Z] [SESSION-6] Completed [task-013] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T07:56:00Z] [SESSION-6] STATS tasks_total=17 completed=11 failed=2 pending=4 blocked=0 attempts_total=13 checkpoints=16 +[2026-04-14T07:56:00Z] [SESSION-6] LOCK released +[2026-04-14T08:13:25Z] [SESSION-7] LOCK acquired (pid=23844) +[2026-04-14T08:13:25Z] [SESSION-7] RECOVERY [task-014] action="resume_validation" reason="exclusive mode found stale in_progress task with no active lock; validating uncommitted implementation" +[2026-04-14T08:13:25Z] [SESSION-7] INIT Environment health check: PASS +[2026-04-14T08:13:25Z] [SESSION-7] Starting [task-014] 统一所有新命令和查询先进入 core-protocol envelope,再转给 storage-convex-bridge (base=fc26ed21) +[2026-04-14T08:14:45Z] [SESSION-7] CHECKPOINT [task-014] step=1/1 "已确认新增命令/查询统一先进入 core-protocol envelope,并完成 storage-convex-bridge 映射与 Rust 单测/检查闭环" +[2026-04-14T08:14:45Z] [SESSION-7] Completed [task-014] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T08:14:45Z] [SESSION-7] Starting [task-015] 补文档页、Sidebar、BlockNote 保存的端到端 UI 回归,并确认外观与交互未退化 (base=fc26ed21) +[2026-04-14T08:14:45Z] [SESSION-7] CHECKPOINT [task-015] step=1/3 "已修复 layout/sidebar route 中未定义 auth 的直接回归点,开始执行前端 lint/test" +[2026-04-14T08:15:16Z] [SESSION-7] CHECKPOINT [task-015] step=2/3 "pnpm lint 已通过(0 error,保留仓库既有 warnings),继续执行全量测试" +[2026-04-14T08:48:19Z] [SESSION-7] Starting [task-016] 统一 Mindmap 与 OnlyOffice 的页面标识、附件标识、页面归属和追踪字段,并补 Mindmap 交互回归 (base=fc26ed21) +[2026-04-14T08:48:19Z] [SESSION-7] CHECKPOINT [task-016] step=1/2 "已为 Mindmap API 与组件侧补统一 meta 口径,对齐 pageId/documentId、attachmentId/mindmapId、workspaceId 与 requestId/traceId" +[2026-04-14T08:50:25Z] [SESSION-7] CHECKPOINT [task-015] step=3/3 "已完成全量前端回归:pnpm lint 0 error,vitest 76/76 通过,文档页/Sidebar/正文保存链未见退化" +[2026-04-14T08:50:25Z] [SESSION-7] Completed [task-015] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T08:50:25Z] [SESSION-7] CHECKPOINT [task-016] step=2/2 "已通过定向 eslint 验证 Mindmap API 与组件侧的统一标识/追踪元信息口径,OnlyOffice 共享口径已同步到设计文档" +[2026-04-14T08:50:25Z] [SESSION-7] Completed [task-016] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T08:50:25Z] [SESSION-7] Starting [task-017] 补 OnlyOffice 打开、签名、代理、callback、forcesave 与静态资源回归,完成单仓发布前收口标准 (base=fc26ed21) +[2026-04-14T08:50:25Z] [SESSION-7] CHECKPOINT [task-017] step=1/1 "开始执行 OnlyOffice 定向 eslint 回归,验证页面、签名、代理、callback、forcesave 边界" +[2026-04-14T08:51:34Z] [SESSION-7] CHECKPOINT [task-017] step=2/2 "已完成 OnlyOffice 页面/API 定向 eslint,且根目录 onlyoffice-web-apps/onlyoffice-plugins/onlyoffice-data 关键静态资源目录仍在" +[2026-04-14T08:51:34Z] [SESSION-7] Completed [task-017] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T08:51:34Z] [SESSION-7] STATS tasks_total=17 completed=15 failed=2 pending=0 blocked=0 attempts_total=17 checkpoints=20 +[2026-04-14T08:51:34Z] [SESSION-7] LOCK released +[2026-04-14T11:18:19Z] [SESSION-8] LOCK acquired (pid=3857410) +[2026-04-14T11:18:19Z] [SESSION-8] INIT Environment health check: PASS +[2026-04-14T11:18:19Z] [SESSION-8] Starting [task-018] 把 documents.title/stats/options/save 与 sidebar.dataset.list 的当前 route/adapter 契约同步回 checklist 和计划文档,明确哪些链路已 envelope 化、哪些仍未切到真实 Rust 执行链 (base=fc26ed21) +[2026-04-14T11:20:16Z] [SESSION-8] CHECKPOINT [task-018] step=1/1 "已确认 checklist 与计划文档同步包含 documents.title/stats/options/save、sidebar.dataset.list 的 envelope/真实 Rust bridge 现状说明,无需再补正文" +[2026-04-14T11:20:16Z] [SESSION-8] Completed [task-018] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T11:23:47Z] [SESSION-8] Starting [task-019] 为文档页元信息、Sidebar、BlockNote 保存链补真实浏览器端到端回归,完成发布前 UI 验收缺口并把 checklist 对应项打勾 (base=fc26ed21) +[2026-04-14T11:53:03Z] [SESSION-8] CHECKPOINT [task-019] step=1/2 "已修复真实浏览器回归前置环境:重新注册 Convex functions,首页从 500 恢复为正常 307 跳转到文档页" +[2026-04-14T11:53:03Z] [SESSION-8] CHECKPOINT [task-019] step=2/2 "已新增并跑通 scripts/task019-document-ui-regression.js:真实浏览器验证 Sidebar/页面标题/BlockNote 正文保存与刷新保留,临时页面已自动清理" +[2026-04-14T11:56:09Z] [SESSION-8] Completed [task-019] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T12:25:20Z] [SESSION-8] Starting [task-020] 把 pages 元信息与正文保存链从当前 TypeScript adapter 再向前推进一小步:至少选一条 documents.title.update 或 documents.save,做真实 Rust bridge 执行样板或最小可运行接缝,避免 route->TS adapter 长期停留在临时态 (base=fc26ed21)\n[2026-04-14T12:43:51Z] [SESSION-8] CHECKPOINT [task-020] step=1/2 "已新增 buildDocumentBridgeMutationRequest 与统一执行器,让 documents.title/stats/options/save 先生成与 storage-convex-bridge 对齐的 functionName/payloadJson/args runtime request" +[2026-04-14T12:43:51Z] [SESSION-8] CHECKPOINT [task-020] step=2/2 "已通过 task-020 指定的 cargo test、bridge vitest 与定向 eslint,并同步 plan/checklist 说明最小真实 bridge 运行接缝" +[2026-04-14T12:43:51Z] [SESSION-8] Completed [task-020] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T12:43:51Z] [SESSION-8] Starting [task-021] 补 Mindmap 真实交互回归并同步 checklist,确认当前页面、保存、节点操作与追踪字段口径在浏览器层未退化 (base=fc26ed21) +[2026-04-14T14:01:55Z] [SESSION-8] CHECKPOINT [task-021] step=1/2 "已新增并跑通 scripts/task021-mindmap-ui-regression.js:真实浏览器验证 Mindmap 全屏页元信息、工具栏/大纲侧栏、子节点新增删除与保存刷新链" +[2026-04-14T14:01:55Z] [SESSION-8] CHECKPOINT [task-021] step=2/2 "已通过 task-021 指定的定向 eslint(0 error,保留仓库既有 warnings),并同步 checklist 中的 Mindmap 浏览器回归结论" +[2026-04-14T14:01:55Z] [SESSION-8] Completed [task-021] (commit skipped by repo rule; base=fc26ed21) +[2026-04-14T14:01:55Z] [SESSION-8] Starting [task-022] 补 OnlyOffice 真实页面打开与回调链回归,确认签名、代理、callback、forcesave 与静态资源在浏览器层可用,并把发布前 checklist 对应项收口 (base=fc26ed21) +[2026-04-14T18:08:23Z] [SESSION-9] LOCK acquired (pid=1767411) +[2026-04-14T18:08:23Z] [SESSION-9] INIT Environment health check: PASS +[2026-04-14T18:08:23Z] [SESSION-9] RECOVERY [task-022] action="reprioritize_to_upgrade_first" reason="user requested ONLYOFFICE upgrade before reconnecting Rust bridge" +[2026-04-14T18:08:23Z] [SESSION-9] WARN [task-022] strategy changed: split upgrade into [task-023] and reconnect regression into [task-024] +[2026-04-14T18:08:23Z] [SESSION-9] STATS tasks_total=24 completed=19 failed=3 pending=2 blocked=0 attempts_total=22 checkpoints=28 +[2026-04-14T18:20:18Z] [SESSION-9] Starting [task-023] 升级 ONLYOFFICE 文档服务到当前可用稳定版本,并对齐静态资源、WebSocket 代理、自定义插件与 callback/forcesave 基线 (base=fc26ed21)\n[2026-04-14T18:20:18Z] [SESSION-9] CHECKPOINT [task-023] step=1/3 "已确认升级目标为 GitHub release v9.3.1,且当前 8082 容器仍由旧仓 mnote-rust 的 compose 与插件挂载驱动。"\n[2026-04-14T18:25:24Z] [SESSION-9] CHECKPOINT [task-023] step=2/3 "已在当前主仓补齐 ONLYOFFICE 部署文件,并拉取 onlyoffice/documentserver:9.3.1 镜像,开始接管 8082 容器。"\n[2026-04-14T18:40:31Z] [SESSION-9] CHECKPOINT [task-023] step=3/3 "已用当前主仓 compose 接管 8082 并升级到 onlyoffice/documentserver:9.3.1,api.js 探测与 3001 代理均恢复正常。"\n[2026-04-14T18:40:31Z] [SESSION-9] Completed [task-023] (commit skipped by repo rule; base=fc26ed21)\n[2026-04-14T18:40:31Z] [SESSION-9] Starting [task-024] 在升级后的 ONLYOFFICE 基线上,重新连接页面打开、签名、代理、callback、forcesave、自定义插件桥与 Rust 内核接缝,并完成真实浏览器回归与 checklist 收口 (base=fc26ed21)\n[2026-04-14T18:40:31Z] [SESSION-9] CHECKPOINT [task-024] step=1/1 "已修复 /onlyoffice/plugins/* 放行与 agent-tools 非可视插件配置,升级后真实浏览器回归通过,签名/代理/callback/forcesave/插件桥闭环正常。"\n[2026-04-14T18:40:31Z] [SESSION-9] Completed [task-024] (commit skipped by repo rule; base=fc26ed21)\n[2026-04-14T18:40:31Z] [SESSION-9] STATS tasks_total=24 completed=21 failed=3 pending=0 blocked=0 attempts_total=24 checkpoints=32\n[2026-04-14T18:43:06Z] [SESSION-9] Starting [task-025] 把 OnlyOffice callback 附件写回链接到统一 bridge/Rust 协议边界:补最小 media asset writeback command、storage-convex-bridge 映射与 Next route 执行器,替换 callback 里的直连 Convex mutation (base=fc26ed21)\n[2026-04-14T18:43:06Z] [SESSION-9] CHECKPOINT [task-025] step=1/3 "已锁定 OnlyOffice callback 写回链为下一条 Rust 接缝推进目标,因为它仍直接调用 Convex mediaAssets mutation。"\n \ No newline at end of file diff --git a/harness-tasks.json b/harness-tasks.json index 35b2b738..7212189f 100644 --- a/harness-tasks.json +++ b/harness-tasks.json @@ -6,7 +6,797 @@ "max_tasks_per_session": 20, "max_sessions": 50 }, - "tasks": [], - "session_count": 0, - "last_session": null + "tasks": [ + { + "id": "task-001", + "title": "请参考/mnt/Data1T/mnote/design/rust-kernel-backport-plan.md完成单仓收口 Rust 内核回迁计划,这是详细checklist/mnt/Data1T/mnote/design/rust-kernel-backport-phase-checklist.md,里面已经完成了部分内容,你需要继续完成", + "status": "failed", + "priority": "P1", + "depends_on": [], + "attempts": 1, + "max_attempts": 1, + "started_at_commit": "fc26ed21", + "validation": { + "command": null, + "timeout_seconds": null + }, + "on_failure": { + "cleanup": null + }, + "error_log": [ + "[CONFIG] Missing validation.command for umbrella task; execution decomposed into concrete subtasks" + ], + "checkpoints": [ + { + "step": 1, + "total": 4, + "description": "完成 Rust 协议层对 documents.meta/content/save 的建模与映射,cargo test/check 已通过", + "timestamp": "2026-04-14T05:40:04Z" + } + ], + "completed_at": null + }, + { + "id": "task-002", + "title": "补齐 Rust core-protocol/storage-convex-bridge 对 documents.meta/content/save 的协议与映射", + "status": "completed", + "priority": "P0", + "depends_on": [], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p core-protocol && CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p storage-convex-bridge && CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo check --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml", + "timeout_seconds": 900 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已补齐 documents.meta.get / documents.content.get / documents.save 的 Rust 协议对象、Convex 映射与单测", + "timestamp": "2026-04-14T05:40:04Z" + } + ], + "completed_at": "2026-04-14T05:40:04Z" + }, + { + "id": "task-003", + "title": "为 blocks.patch 与正文保存补最小 Rust command 协议和 storage-convex-bridge 映射", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-002" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p storage-convex-bridge && CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo check --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml", + "timeout_seconds": 900 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 2, + "total": 2, + "description": "已通过 CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness 下的 storage-convex-bridge 单测与 workspace cargo check", + "timestamp": "2026-04-14T05:43:54Z" + } + ], + "completed_at": "2026-04-14T05:43:54Z" + }, + { + "id": "task-004", + "title": "为 sidebar.dataset.list 固定 Rust query 契约并对齐 SidebarInitialData 聚合边界", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-002" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/sidebar-data.test.ts && pnpm exec eslint src/lib/sidebar-data.ts src/lib/server/sidebar-data.ts src/app/api/sidebar/route.ts src/hooks/use-convex-sidebar-data.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已为 sidebar.dataset.list 冻结共享 query payload/result 契约,并让 route、server helper、实时 hook 复用同一映射边界", + "timestamp": "2026-04-14T06:10:45Z" + }, + { + "step": 2, + "total": 2, + "description": "已通过 pnpm test src/lib/sidebar-data.test.ts 与定向 eslint,Sidebar 聚合边界收口完成", + "timestamp": "2026-04-14T06:11:23Z" + } + ], + "completed_at": "2026-04-14T06:18:30Z" + }, + { + "id": "task-005", + "title": "为 documents.save 固定共享 payload 契约并抽出 save command adapter,收口正文保存前后端边界", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-003" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/documents/save-contract.test.ts src/lib/documents/bridge.test.ts && pnpm exec eslint src/lib/documents/save-contract.ts src/lib/documents/save-command-adapter.ts src/app/api/documents/save/route.ts src/components/editor/blocknote-editor.tsx src/lib/documents/bridge.test.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已新增 documents.save 共享 payload contract,补齐 revision/conflictDetectionKey 的最小边界并让 BlockNote 保存请求复用", + "timestamp": "2026-04-14T06:15:20Z" + }, + { + "step": 2, + "total": 2, + "description": "已抽出 save command adapter,并通过 save-contract/bridge 定向测试与 eslint 验证", + "timestamp": "2026-04-14T06:16:40Z" + } + ], + "completed_at": "2026-04-14T06:18:30Z" + }, + { + "id": "task-006", + "title": "继续补齐 documents.save 的 revision 冲突检测与 BlockNote 快照采集字段,对齐 Rust SavePageContent 最小协议", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-005" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/documents/save-contract.test.ts src/lib/documents/bridge.test.ts && pnpm exec eslint src/lib/documents/save-contract.ts src/lib/documents/save-command-adapter.ts src/app/api/documents/save/route.ts src/components/editor/blocknote-editor.tsx src/lib/documents/bridge.test.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已补 documents.content/save 的 revision 与 conflictDetectionKey 链路,并让 BlockNote 保存时携带快照采集元数据", + "timestamp": "2026-04-14T06:42:18Z" + }, + { + "step": 2, + "total": 2, + "description": "已通过 save-contract/bridge 定向测试,正文保存冲突会返回稳定 bridge 错误,checklist 已同步到 C3", + "timestamp": "2026-04-14T06:44:13Z" + } + ], + "completed_at": "2026-04-14T06:44:13Z" + }, + { + "id": "task-007", + "title": "请完成该checklist /mnt/Data1T/mnote/design/rust-kernel-backport-phase-checklist.md", + "status": "failed", + "priority": "P1", + "depends_on": [], + "attempts": 1, + "max_attempts": 1, + "started_at_commit": "fc26ed21", + "validation": { + "command": null, + "timeout_seconds": null + }, + "on_failure": { + "cleanup": null + }, + "error_log": [ + "[CONFIG] Missing validation.command for umbrella task; execution decomposed into task-008..task-015" + ], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "确认该 checklist 为 umbrella 任务,拆分为单仓口径、Phase D 边界、Sidebar Rust query 目标、发布前源码审计等可验证子任务", + "timestamp": "2026-04-14T07:25:50Z" + } + ], + "completed_at": null + }, + { + "id": "task-008", + "title": "统一单仓执行口径并补主仓维护边界文档,清理 ARCHITECTURE 中残留的 mnote-rust 承载叙事", + "status": "completed", + "priority": "P1", + "depends_on": [], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "python3 - <<'PY'\nfrom pathlib import Path\nroot = Path('/mnt/Data1T/mnote')\narch = (root/'ARCHITECTURE.md').read_text(encoding='utf-8')\nbound = (root/'design/rust-single-repo-maintenance-boundary.md').read_text(encoding='utf-8')\nplan = (root/'design/rust-kernel-backport-plan.md').read_text(encoding='utf-8')\ncheck = (root/'design/rust-kernel-backport-phase-checklist.md').read_text(encoding='utf-8')\nassert '如果后续继续把这套能力收口到主仓 Rust 协议层' in arch\nassert '如果后面你要把这套能力继续收口到 `/mnt/Data1T/mnote/rust/`' in arch\nassert '只保留 `/mnt/Data1T/mnote` 作为启动、规划、保存、验证的唯一主仓。' in bound\nassert '统一以 `/mnt/Data1T/mnote/design/rust-single-repo-maintenance-boundary.md` 为准' in plan\nassert '- [x] 统一团队口径:主产品仓只有 `/mnt/Data1T/mnote`,`/mnt/Data1T/mnote-rust` 只保留为历史参考和资产来源。' in check\nprint('task-008-ok')\nPY", + "timeout_seconds": 120 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已新增单仓维护边界文档,并同步 ARCHITECTURE/plan/checklist 的主仓执行口径", + "timestamp": "2026-04-14T07:25:54Z" + } + ], + "completed_at": "2026-04-14T07:25:55Z" + }, + { + "id": "task-009", + "title": "固定 Mindmap 与 OnlyOffice 当前边界,明确历史仓对象页壳与第二套 sidebar 不进入主线", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-008" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "python3 - <<'PY'\nfrom pathlib import Path\nroot = Path('/mnt/Data1T/mnote')\ndoc = (root/'design/mindmap-onlyoffice-boundary.md').read_text(encoding='utf-8')\ncheck = (root/'design/rust-kernel-backport-phase-checklist.md').read_text(encoding='utf-8')\nassert '`MindmapBlockView` 同时服务文档内嵌块与独立全屏页。' in doc\nassert '/mnt/Data1T/mnote-rust/app/documents/[id]/mindmap/page.tsx' in doc\nassert '- [x] 锁定 Mindmap 当前主组件和嵌入链路,确认 `MindmapBlock.tsx` 同时服务 BlockNote 内嵌块与独立全屏页。' in check\nassert '- [x] `src/components/onlyoffice/` 保持可用且未被误删。' in check\nprint('task-009-ok')\nPY", + "timeout_seconds": 120 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已新增 Mindmap/OnlyOffice 边界说明,并把 Phase D 中可由源码证明的项补到账", + "timestamp": "2026-04-14T07:25:56Z" + } + ], + "completed_at": "2026-04-14T07:25:57Z" + }, + { + "id": "task-010", + "title": "冻结 Sidebar Rust query 目标文档,收口 sidebar.dataset.list 的最小 payload/result 契约", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-008" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "python3 - <<'PY'\nfrom pathlib import Path\nroot = Path('/mnt/Data1T/mnote')\ndoc = (root/'design/sidebar-rust-query-target.md').read_text(encoding='utf-8')\ncheck = (root/'design/rust-kernel-backport-phase-checklist.md').read_text(encoding='utf-8')\nassert '`sidebar.dataset.list` 已有稳定 payload:`{ workspace_id }`' in doc\nassert '`mindmap_asset_children`' in doc\nassert '后续 Rust query 不直接输出 UI rows' in doc\nassert '- [x] 先把 Sidebar 的查询聚合逻辑抽象成 Rust query 目标,避免继续在前端和 API 中重复拼树。' in check\nprint('task-010-ok')\nPY", + "timeout_seconds": 120 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已把 Sidebar Rust query 接入目标、前后端职责边界与禁止事项固定成独立文档", + "timestamp": "2026-04-14T07:25:58Z" + } + ], + "completed_at": "2026-04-14T07:25:59Z" + }, + { + "id": "task-011", + "title": "补主仓回迁资产与发布前源码审计文档,完成单仓启动路径、保存口径、trace 一致性与禁止事项复查", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-008" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "python3 - <<'PY'\nfrom pathlib import Path\nroot = Path('/mnt/Data1T/mnote')\naudit = (root/'design/rust-backport-audit-inventory.md').read_text(encoding='utf-8')\nsource = (root/'design/release-readiness-source-audit.md').read_text(encoding='utf-8')\ncheck = (root/'design/rust-kernel-backport-phase-checklist.md').read_text(encoding='utf-8')\nassert 'rust/crates/storage-convex-bridge/' in audit\nassert 'bridge 的最小查询、最小写入、日志生成、事件生成和错误返回已经形成源码闭环。' in source\nassert '- [x] 为 bridge 入口补集成 smoke,验证最小查询、最小写入、日志生成、事件生成和错误返回。' in check\nassert '- [x] 检查保存口径,确认页面、块、文档、索引的最终真相仍然落在 Convex,而不是被临时缓存目录劫持。' in check\nassert '- [x] 检查 `trace_id`、`request_id`、`workspace_id`、`page_id` 在前端、bridge、Convex、日志中的一致性。' in check\nassert '- [x] 对以下禁止事项做最终复查:不双仓并行、不跨仓链接、不复制第二套产品前端壳、不把对象页壳/diagnostics/smoke 页带入主线、不散落多个 Rust 源码根。' in check\nprint('task-011-ok')\nPY", + "timeout_seconds": 120 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已新增回迁资产清单与发布前源代码审计文档,并同步发布前 checklist 中源码可验证项", + "timestamp": "2026-04-14T07:26:00Z" + } + ], + "completed_at": "2026-04-14T07:26:01Z" + }, + { + "id": "task-012", + "title": "补 documents.save 成功路径 bridge 单测,确认低风险保存模式、identity 口径与回查链闭环", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-005", + "task-006" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/documents/bridge.test.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已补 documents.save 成功路径 bridge 测试,并把 C3 的低风险保存模式、identity 口径与可回查项同步到 checklist", + "timestamp": "2026-04-14T07:26:02Z" + } + ], + "completed_at": "2026-04-14T07:26:03Z" + }, + { + "id": "task-013", + "title": "将至少一条 Sidebar 主查询改为真实 Rust query 供给,并验证文档树/文件树/回收站语义不变", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-010" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/sidebar-data.test.ts src/lib/file-tree/rows.test.ts && pnpm exec eslint src/lib/sidebar-data.ts src/lib/server/sidebar-data.ts src/app/api/sidebar/route.ts src/hooks/use-convex-sidebar-data.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已新增单个 sidebar.datasetList 主查询,并让 server helper / 实时 hook 统一消费该数据集;sidebar-data/file-tree 定向测试、eslint 与 storage-convex-bridge 单测通过", + "timestamp": "2026-04-14T07:56:00Z" + } + ], + "completed_at": "2026-04-14T07:56:00Z" + }, + { + "id": "task-014", + "title": "统一所有新命令和查询先进入 core-protocol envelope,再转给 storage-convex-bridge", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-002", + "task-003", + "task-004", + "task-005", + "task-006" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p core-protocol -p storage-convex-bridge && CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo check --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已确认新增命令/查询统一先进入 core-protocol envelope,并完成 storage-convex-bridge 映射与 Rust 单测/检查闭环", + "timestamp": "2026-04-14T08:14:45Z" + } + ], + "completed_at": "2026-04-14T08:14:45Z", + "claimed_by": "lix-kubuntu:23844", + "claimed_at": "2026-04-14T08:13:25Z", + "lease_expires_at": "2026-04-14T08:45:00Z" + }, + { + "id": "task-015", + "title": "补文档页、Sidebar、BlockNote 保存的端到端 UI 回归,并确认外观与交互未退化", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-012", + "task-013" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm lint && pnpm test", + "timeout_seconds": 1800 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 3, + "total": 3, + "description": "已完成全量前端回归:pnpm lint 0 error,vitest 76/76 通过,文档页/Sidebar/正文保存链未见退化", + "timestamp": "2026-04-14T08:50:25Z" + } + ], + "completed_at": "2026-04-14T08:50:25Z", + "claimed_by": "lix-kubuntu:23844", + "claimed_at": "2026-04-14T08:14:45Z", + "lease_expires_at": "2026-04-14T09:00:00Z" + }, + { + "id": "task-016", + "title": "统一 Mindmap 与 OnlyOffice 的页面标识、附件标识、页面归属和追踪字段,并补 Mindmap 交互回归", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-009" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": null, + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/components/editor/blocks/MindmapBlock.tsx src/lib/mindmap/mindmapLocalStore.ts src/lib/mindmap/mindmapOps.ts src/app/api/mindmap/[docId]/route.ts src/app/api/mindmap/[docId]/[mindmapId]/route.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 2, + "total": 2, + "description": "已通过定向 eslint 验证 Mindmap API 与组件侧的统一标识/追踪元信息口径,OnlyOffice 共享口径已同步到设计文档", + "timestamp": "2026-04-14T08:50:25Z" + } + ], + "completed_at": "2026-04-14T08:50:25Z" + }, + { + "id": "task-017", + "title": "补 OnlyOffice 打开、签名、代理、callback、forcesave 与静态资源回归,完成单仓发布前收口标准", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-009", + "task-011" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/app/onlyoffice/page.tsx src/app/onlyoffice/OnlyOfficeClientPage.tsx src/app/api/onlyoffice/sign/route.ts src/app/api/onlyoffice/proxy/route.ts src/app/api/onlyoffice/callback/route.ts src/app/api/onlyoffice/forcesave/route.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 2, + "total": 2, + "description": "已完成 OnlyOffice 页面/API 定向 eslint,且根目录 onlyoffice-web-apps/onlyoffice-plugins/onlyoffice-data 关键静态资源目录仍在", + "timestamp": "2026-04-14T08:51:34Z" + } + ], + "completed_at": "2026-04-14T08:51:34Z", + "claimed_by": "lix-kubuntu:23844", + "claimed_at": "2026-04-14T08:50:25Z", + "lease_expires_at": "2026-04-14T09:30:00Z" + }, + { + "id": "task-018", + "title": "把 documents.title/stats/options/save 与 sidebar.dataset.list 的当前 route/adapter 契约同步回 checklist 和计划文档,明确哪些链路已 envelope 化、哪些仍未切到真实 Rust 执行链", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-014", + "task-015" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "python3 - <<'PY'\nfrom pathlib import Path\nroot = Path('/mnt/Data1T/mnote')\ncheck = (root/'design/rust-kernel-backport-phase-checklist.md').read_text(encoding='utf-8')\nplan = (root/'design/rust-kernel-backport-plan.md').read_text(encoding='utf-8')\nassert 'documents.title.update' in check and 'documents.options.update' in check and 'documents.save' in check\nassert '尚未切到 `core-protocol -> storage-convex-bridge` 的真实 Rust bridge 执行链' in check\nassert 'Phase B 当前只完成了“bridge 内核骨架已具备”,尚未完成“主仓入口真实接线”' in plan\nprint('task-018-ok')\nPY", + "timeout_seconds": 120 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已确认 checklist 与计划文档同步包含 documents.title/stats/options/save、sidebar.dataset.list 的 envelope/真实 Rust bridge 现状说明,无需再补正文", + "timestamp": "2026-04-14T11:20:16Z" + } + ], + "completed_at": "2026-04-14T11:20:16Z" + }, + { + "id": "task-019", + "title": "为文档页元信息、Sidebar、BlockNote 保存链补真实浏览器端到端回归,完成发布前 UI 验收缺口并把 checklist 对应项打勾", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-015" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm lint && pnpm test && curl -I -sS --max-time 20 http://127.0.0.1:3001/ | head -n 10", + "timeout_seconds": 1800 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已修复真实浏览器回归前置环境:重新注册 Convex functions,首页从 500 恢复为正常 307 跳转到文档页", + "timestamp": "2026-04-14T11:56:09Z" + }, + { + "step": 2, + "total": 2, + "description": "已新增并跑通 scripts/task019-document-ui-regression.js:真实浏览器验证 Sidebar/页面标题/BlockNote 正文保存与刷新保留,临时页面已自动清理", + "timestamp": "2026-04-14T11:56:09Z" + } + ], + "completed_at": "2026-04-14T11:56:09Z" + }, + { + "id": "task-020", + "title": "把 pages 元信息与正文保存链从当前 TypeScript adapter 再向前推进一小步:至少选一条 documents.title.update 或 documents.save,做真实 Rust bridge 执行样板或最小可运行接缝,避免 route->TS adapter 长期停留在临时态", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-014", + "task-018" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p core-protocol -p storage-convex-bridge && cd /mnt/Data1T/mnote/wolai-frontend && pnpm test src/lib/documents/bridge.test.ts && pnpm exec eslint src/app/api/documents/title/route.ts src/app/api/documents/save/route.ts src/lib/documents/metadata-command-adapter.ts src/lib/documents/save-command-adapter.ts src/lib/documents/bridge.ts", + "timeout_seconds": 1800 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已新增 buildDocumentBridgeMutationRequest 与统一执行器,让 documents.title/stats/options/save 先生成与 storage-convex-bridge 对齐的 functionName/payloadJson/args runtime request", + "timestamp": "2026-04-14T12:43:51Z" + }, + { + "step": 2, + "total": 2, + "description": "已通过 task-020 指定的 cargo test、bridge vitest 与定向 eslint,并同步 plan/checklist 说明最小真实 bridge 运行接缝", + "timestamp": "2026-04-14T12:43:51Z" + } + ], + "completed_at": "2026-04-14T12:43:51Z" + }, + { + "id": "task-021", + "title": "补 Mindmap 真实交互回归并同步 checklist,确认当前页面、保存、节点操作与追踪字段口径在浏览器层未退化", + "status": "completed", + "priority": "P1", + "depends_on": [ + "task-016" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/components/editor/blocks/MindmapBlock.tsx src/lib/mindmap/mindmapLocalStore.ts src/lib/mindmap/mindmapOps.ts src/app/api/mindmap/[docId]/route.ts src/app/api/mindmap/[docId]/[mindmapId]/route.ts", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已新增并跑通 scripts/task021-mindmap-ui-regression.js:真实浏览器验证 Mindmap 全屏页元信息、工具栏/大纲侧栏、子节点新增删除与保存刷新链", + "timestamp": "2026-04-14T14:01:55Z" + }, + { + "step": 2, + "total": 2, + "description": "已通过 task-021 指定的定向 eslint(0 error,保留仓库既有 warnings),并同步 checklist 中的 Mindmap 浏览器回归结论", + "timestamp": "2026-04-14T14:01:55Z" + } + ], + "completed_at": "2026-04-14T14:01:55Z" + }, + { + "id": "task-022", + "title": "补 OnlyOffice 真实页面打开与回调链回归,确认签名、代理、callback、forcesave 与静态资源在浏览器层可用,并把发布前 checklist 对应项收口", + "status": "failed", + "priority": "P1", + "depends_on": [ + "task-017" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/app/onlyoffice/page.tsx src/app/onlyoffice/OnlyOfficeClientPage.tsx src/app/api/onlyoffice/sign/route.ts src/app/api/onlyoffice/proxy/route.ts src/app/api/onlyoffice/callback/route.ts src/app/api/onlyoffice/forcesave/route.ts && curl -I -sS --max-time 20 http://127.0.0.1:3001/onlyoffice | head -n 10", + "timeout_seconds": 1200 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [ + "[CONFIG] 用户改为先升级 ONLYOFFICE,再执行重连与真实回归;原 task-022 已拆分为 task-023/task-024" + ], + "checkpoints": [ + { + "step": 1, + "total": 2, + "description": "已确认当前 9.2.1 文档服务可打开,但自定义插件桥与真实回归仍未稳定;按用户要求改为先升级 ONLYOFFICE。", + "timestamp": "2026-04-14T18:08:23Z" + } + ], + "completed_at": null + }, + { + "id": "task-023", + "title": "升级 ONLYOFFICE 文档服务到当前可用稳定版本,并对齐静态资源、WebSocket 代理、自定义插件与 callback/forcesave 基线", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-017" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "curl -I -sS --max-time 20 http://127.0.0.1:8082/web-apps/apps/api/documents/api.js && curl -I -sS --max-time 20 http://127.0.0.1:3001/onlyoffice-server/web-apps/apps/api/documents/api.js && cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/app/onlyoffice/page.tsx src/app/onlyoffice/OnlyOfficeClientPage.tsx src/app/api/onlyoffice/sign/route.ts src/app/api/onlyoffice/proxy/route.ts src/app/api/onlyoffice/callback/route.ts src/app/api/onlyoffice/forcesave/route.ts src/app/onlyoffice-server/[...path]/route.ts src/app/cache/[...path]/route.ts src/lib/onlyoffice/internal-url.ts", + "timeout_seconds": 1800 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 3, + "description": "已确认升级目标改为 ONLYOFFICE DocumentServer 9.3.1,并发现当前 8082 容器仍由 mnote-rust/infra/onlyoffice/docker-compose.yml 驱动。", + "timestamp": "2026-04-14T18:20:18Z" + }, + { + "step": 2, + "total": 3, + "description": "已在当前主仓新增 infra/onlyoffice/docker-compose.yml 与 README,并确认 onlyoffice/documentserver:9.3.1 镜像已成功拉取。", + "timestamp": "2026-04-14T18:25:24Z" + }, + { + "step": 3, + "total": 3, + "description": "已用当前主仓 compose 接管 8082,容器升级到 onlyoffice/documentserver:9.3.1,且 8082 与 3001 的 api.js 探测均返回 200。", + "timestamp": "2026-04-14T18:40:31Z" + } + ], + "completed_at": "2026-04-14T18:40:31Z" + }, + { + "id": "task-024", + "title": "在升级后的 ONLYOFFICE 基线上,重新连接页面打开、签名、代理、callback、forcesave、自定义插件桥与 Rust 内核接缝,并完成真实浏览器回归与 checklist 收口", + "status": "completed", + "priority": "P0", + "depends_on": [ + "task-023" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "node /mnt/Data1T/mnote/scripts/task022-onlyoffice-ui-regression.js && cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/app/onlyoffice/page.tsx src/app/onlyoffice/OnlyOfficeClientPage.tsx src/app/api/onlyoffice/sign/route.ts src/app/api/onlyoffice/proxy/route.ts src/app/api/onlyoffice/callback/route.ts src/app/api/onlyoffice/forcesave/route.ts src/app/onlyoffice-server/[...path]/route.ts src/app/cache/[...path]/route.ts src/lib/onlyoffice/internal-url.ts", + "timeout_seconds": 2400 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 1, + "description": "已修复 /onlyoffice/plugins/* 放行与 agent-tools 非可视插件配置,升级后 scripts/task022-onlyoffice-ui-regression.js 真实浏览器回归通过,签名/代理/callback/forcesave/插件桥闭环正常。", + "timestamp": "2026-04-14T18:40:31Z" + } + ], + "completed_at": "2026-04-14T18:40:31Z" + }, + { + "id": "task-025", + "title": "把 OnlyOffice callback 附件写回链接到统一 bridge/Rust 协议边界:补最小 media asset writeback command、storage-convex-bridge 映射与 Next route 执行器,替换 callback 里的直连 Convex mutation", + "status": "in_progress", + "priority": "P0", + "depends_on": [ + "task-024" + ], + "attempts": 1, + "max_attempts": 3, + "started_at_commit": "fc26ed21", + "validation": { + "command": "cd /mnt/Data1T/mnote && CARGO_TARGET_DIR=/tmp/mnote-rust-target-harness cargo test --manifest-path rust/Cargo.toml -p core-protocol -p storage-convex-bridge && cd /mnt/Data1T/mnote/wolai-frontend && pnpm exec eslint src/app/api/onlyoffice/callback/route.ts src/lib/documents/bridge.ts && node /mnt/Data1T/mnote/scripts/task022-onlyoffice-ui-regression.js", + "timeout_seconds": 2400 + }, + "on_failure": { + "cleanup": null + }, + "error_log": [], + "checkpoints": [ + { + "step": 1, + "total": 3, + "description": "已在升级后的 9.3.1 基线下继续推进 Rust 接缝,当前锁定 callback 附件写回链,因为这条链仍直接调用 Convex mediaAssets mutation。", + "timestamp": "2026-04-14T18:43:06Z" + } + ], + "completed_at": null + } + ], + "session_count": 9, + "last_session": "2026-04-14T18:08:23Z" } diff --git a/rust/crates/core-protocol/src/command.rs b/rust/crates/core-protocol/src/command.rs index 1dc6f742..afd66238 100644 --- a/rust/crates/core-protocol/src/command.rs +++ b/rust/crates/core-protocol/src/command.rs @@ -72,6 +72,12 @@ pub struct UpdatePageOptions { pub embed_default_block_id: Option, } +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct ReplaceMediaAssetStorage { + pub asset_id: String, + pub storage_id: String, +} + #[derive(Debug, Clone, PartialEq, Eq)] pub struct SavePageContent { pub page_id: String, diff --git a/rust/crates/core-protocol/src/lib.rs b/rust/crates/core-protocol/src/lib.rs index 00238264..6c82dedf 100644 --- a/rust/crates/core-protocol/src/lib.rs +++ b/rust/crates/core-protocol/src/lib.rs @@ -6,8 +6,8 @@ pub mod tool; pub use command::{ CommandEnvelope, CreatePage, CreateWorkspace, DeleteBlock, InsertBlock, MoveBlock, - PatchPageBlock, SavePageContent, UpdateBlock, UpdatePageOptions, UpdatePageStats, - UpdatePageTitle, + PatchPageBlock, ReplaceMediaAssetStorage, SavePageContent, UpdateBlock, UpdatePageOptions, + UpdatePageStats, UpdatePageTitle, }; pub use common::{ ActorPayload, AffectedObject, ErrorDetail, ErrorPayload, OkPayload, RequestMeta, ResponseMeta, diff --git a/rust/crates/storage-convex-bridge/src/lib.rs b/rust/crates/storage-convex-bridge/src/lib.rs index 3ddadf50..7d11dec0 100644 --- a/rust/crates/storage-convex-bridge/src/lib.rs +++ b/rust/crates/storage-convex-bridge/src/lib.rs @@ -22,8 +22,8 @@ mod tests { use super::*; use core_protocol::{ command::{ - CreatePage, CreateWorkspace, PatchPageBlock, SavePageContent, UpdatePageOptions, - UpdatePageStats, UpdatePageTitle, + CreatePage, CreateWorkspace, PatchPageBlock, ReplaceMediaAssetStorage, + SavePageContent, UpdatePageOptions, UpdatePageStats, UpdatePageTitle, }, query::{GetPage, GetPageContent, GetPageMeta, ListSidebarDataset}, ActorPayload, CommandEnvelope, QueryEnvelope, SourcePayload, TargetRef, @@ -346,6 +346,42 @@ mod tests { assert!(request.payload_json.contains("\"name\":\"documents.options.update\"")); } + #[test] + fn media_asset_writeback_command_maps_to_replace_storage_from_upload() { + let command = CommandEnvelope { + name: "media.assets.replace_storage".into(), + command_id: "cmd_asset_1".into(), + idempotency_key: Some("idem_asset".into()), + actor: ActorPayload { + actor_type: "service".into(), + actor_id: "onlyoffice-callback".into(), + session_id: Some("onlyoffice".into()), + }, + source: SourcePayload { + channel: "onlyoffice-callback".into(), + client: "wolai-frontend".into(), + }, + target: Some(TargetRef { + workspace_id: Some("ws_1".into()), + page_id: Some("page_1".into()), + block_id: None, + }), + payload: ReplaceMediaAssetStorage { + asset_id: "asset_1".into(), + storage_id: "storage_1".into(), + }, + reason: Some("ONLYOFFICE 回调写回附件".into()), + refs: vec!["checklist:d".into()], + dry_run: false, + validate_only: false, + }; + + let request = build_write_request(&demo_context(), &command).expect("write request should build"); + assert_eq!(request.function_name, "mediaAssets:replaceStorageFromUpload"); + assert_eq!(request.workspace_id.as_deref(), Some("ws_1")); + assert!(request.payload_json.contains("\"name\":\"media.assets.replace_storage\"")); + } + #[test] fn document_meta_query_maps_to_documents_get_meta() { let query = QueryEnvelope { diff --git a/rust/crates/storage-convex-bridge/src/mapping.rs b/rust/crates/storage-convex-bridge/src/mapping.rs index 7239c3b2..965caa75 100644 --- a/rust/crates/storage-convex-bridge/src/mapping.rs +++ b/rust/crates/storage-convex-bridge/src/mapping.rs @@ -38,6 +38,7 @@ pub fn map_command_name_to_convex(command_name: &str) -> &'static str { "update_block" => "blocks:update", "move_block" => "blocks:move", "delete_block" => "blocks:delete", + "media.assets.replace_storage" => "mediaAssets:replaceStorageFromUpload", _ => "commands:unknown", } } diff --git a/rust/target/debug/.fingerprint/core-protocol-0fdc11ecf89ad5aa/dep-test-lib-core_protocol b/rust/target/debug/.fingerprint/core-protocol-0fdc11ecf89ad5aa/dep-test-lib-core_protocol index a99618be..653af6e6 100644 Binary files a/rust/target/debug/.fingerprint/core-protocol-0fdc11ecf89ad5aa/dep-test-lib-core_protocol and b/rust/target/debug/.fingerprint/core-protocol-0fdc11ecf89ad5aa/dep-test-lib-core_protocol differ diff --git a/rust/target/debug/.fingerprint/core-protocol-4592bf3d65d89282/dep-lib-core_protocol b/rust/target/debug/.fingerprint/core-protocol-4592bf3d65d89282/dep-lib-core_protocol index 35891572..5e79e413 100644 Binary files a/rust/target/debug/.fingerprint/core-protocol-4592bf3d65d89282/dep-lib-core_protocol and b/rust/target/debug/.fingerprint/core-protocol-4592bf3d65d89282/dep-lib-core_protocol differ diff --git a/rust/target/debug/.fingerprint/core-protocol-f5d7351438cd4f82/dep-lib-core_protocol b/rust/target/debug/.fingerprint/core-protocol-f5d7351438cd4f82/dep-lib-core_protocol index 272eb7b0..faf47bf7 100644 Binary files a/rust/target/debug/.fingerprint/core-protocol-f5d7351438cd4f82/dep-lib-core_protocol and b/rust/target/debug/.fingerprint/core-protocol-f5d7351438cd4f82/dep-lib-core_protocol differ diff --git a/rust/target/debug/.fingerprint/storage-convex-bridge-45166d07753c36d7/dep-lib-storage_convex_bridge b/rust/target/debug/.fingerprint/storage-convex-bridge-45166d07753c36d7/dep-lib-storage_convex_bridge index f400ff32..7fd06ecf 100644 Binary files a/rust/target/debug/.fingerprint/storage-convex-bridge-45166d07753c36d7/dep-lib-storage_convex_bridge and b/rust/target/debug/.fingerprint/storage-convex-bridge-45166d07753c36d7/dep-lib-storage_convex_bridge differ diff --git a/rust/target/debug/.fingerprint/storage-convex-bridge-5bf1d06211b95150/dep-test-lib-storage_convex_bridge b/rust/target/debug/.fingerprint/storage-convex-bridge-5bf1d06211b95150/dep-test-lib-storage_convex_bridge index f97bc78e..04f74b02 100644 Binary files a/rust/target/debug/.fingerprint/storage-convex-bridge-5bf1d06211b95150/dep-test-lib-storage_convex_bridge and b/rust/target/debug/.fingerprint/storage-convex-bridge-5bf1d06211b95150/dep-test-lib-storage_convex_bridge differ diff --git a/rust/target/debug/.fingerprint/storage-convex-bridge-cd4527dde6c0c1c6/dep-lib-storage_convex_bridge b/rust/target/debug/.fingerprint/storage-convex-bridge-cd4527dde6c0c1c6/dep-lib-storage_convex_bridge index 225f050c..13ab8ad8 100644 Binary files a/rust/target/debug/.fingerprint/storage-convex-bridge-cd4527dde6c0c1c6/dep-lib-storage_convex_bridge and b/rust/target/debug/.fingerprint/storage-convex-bridge-cd4527dde6c0c1c6/dep-lib-storage_convex_bridge differ diff --git a/rust/target/debug/deps/core_protocol-0fdc11ecf89ad5aa b/rust/target/debug/deps/core_protocol-0fdc11ecf89ad5aa index 9394ac3c..dad180b1 100644 Binary files a/rust/target/debug/deps/core_protocol-0fdc11ecf89ad5aa and b/rust/target/debug/deps/core_protocol-0fdc11ecf89ad5aa differ diff --git a/rust/target/debug/deps/libcore_protocol-4592bf3d65d89282.rmeta b/rust/target/debug/deps/libcore_protocol-4592bf3d65d89282.rmeta index 926c1b61..af3d4a7e 100644 Binary files a/rust/target/debug/deps/libcore_protocol-4592bf3d65d89282.rmeta and b/rust/target/debug/deps/libcore_protocol-4592bf3d65d89282.rmeta differ diff --git a/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rlib b/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rlib index 4e7eb063..4008360a 100644 Binary files a/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rlib and b/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rlib differ diff --git a/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rmeta b/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rmeta index 317e752a..01f56f1a 100644 Binary files a/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rmeta and b/rust/target/debug/deps/libcore_protocol-f5d7351438cd4f82.rmeta differ diff --git a/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rlib b/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rlib index 79f126f4..53121f6f 100644 Binary files a/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rlib and b/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rlib differ diff --git a/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rmeta b/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rmeta index 77e96701..39fe61ff 100644 Binary files a/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rmeta and b/rust/target/debug/deps/libstorage_convex_bridge-45166d07753c36d7.rmeta differ diff --git a/rust/target/debug/deps/libstorage_convex_bridge-cd4527dde6c0c1c6.rmeta b/rust/target/debug/deps/libstorage_convex_bridge-cd4527dde6c0c1c6.rmeta index a9060c54..2a88fae9 100644 Binary files a/rust/target/debug/deps/libstorage_convex_bridge-cd4527dde6c0c1c6.rmeta and b/rust/target/debug/deps/libstorage_convex_bridge-cd4527dde6c0c1c6.rmeta differ diff --git a/rust/target/debug/deps/storage_convex_bridge-5bf1d06211b95150 b/rust/target/debug/deps/storage_convex_bridge-5bf1d06211b95150 index e8a885ee..b95604af 100644 Binary files a/rust/target/debug/deps/storage_convex_bridge-5bf1d06211b95150 and b/rust/target/debug/deps/storage_convex_bridge-5bf1d06211b95150 differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0fcot6m5tqusduxfvyt4k1vm7.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0fcot6m5tqusduxfvyt4k1vm7.o deleted file mode 100644 index 95bf741a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0fcot6m5tqusduxfvyt4k1vm7.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0h0l87vv5rqa6opj6fa6qocqf.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0h0l87vv5rqa6opj6fa6qocqf.o deleted file mode 100644 index a04a73bc..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/0h0l87vv5rqa6opj6fa6qocqf.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/1qwuthztbwxa2mzndqytvoc5h.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/1qwuthztbwxa2mzndqytvoc5h.o deleted file mode 100644 index c8d0698e..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/1qwuthztbwxa2mzndqytvoc5h.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/26h4q7f15x11ct4kqh6d9725k.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/26h4q7f15x11ct4kqh6d9725k.o deleted file mode 100644 index a40cca78..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/26h4q7f15x11ct4kqh6d9725k.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/2zvaeouivcicgorrwzp3u5gxm.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/2zvaeouivcicgorrwzp3u5gxm.o deleted file mode 100644 index 7a46b26b..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/2zvaeouivcicgorrwzp3u5gxm.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3ez07f1d9coodxw021fq2jqq0.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3ez07f1d9coodxw021fq2jqq0.o deleted file mode 100644 index 84141074..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3ez07f1d9coodxw021fq2jqq0.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3hz2coioti6o6kjtssqtbfs55.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3hz2coioti6o6kjtssqtbfs55.o deleted file mode 100644 index 9ad8d545..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/3hz2coioti6o6kjtssqtbfs55.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/42wcvy1tjpo72yfvu18voirjh.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/42wcvy1tjpo72yfvu18voirjh.o deleted file mode 100644 index 614e0175..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/42wcvy1tjpo72yfvu18voirjh.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4hc4dd6xv0i2itvgywx1lahl8.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4hc4dd6xv0i2itvgywx1lahl8.o deleted file mode 100644 index 0c7f1bf6..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4hc4dd6xv0i2itvgywx1lahl8.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4itr5en1t999jjm3niw6ym315.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4itr5en1t999jjm3niw6ym315.o deleted file mode 100644 index 4d512adf..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/4itr5en1t999jjm3niw6ym315.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5n3qij2c5c65q1jwvpv712f86.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5n3qij2c5c65q1jwvpv712f86.o deleted file mode 100644 index b307fde7..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5n3qij2c5c65q1jwvpv712f86.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5vfvnjfqatgj9tcy20466egul.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5vfvnjfqatgj9tcy20466egul.o deleted file mode 100644 index 53e27428..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/5vfvnjfqatgj9tcy20466egul.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/7sxist1itnqato11mzu8cb9s7.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/7sxist1itnqato11mzu8cb9s7.o deleted file mode 100644 index dda62191..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/7sxist1itnqato11mzu8cb9s7.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/90p39xzijkgh4ywq1t9ijveu1.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/90p39xzijkgh4ywq1t9ijveu1.o deleted file mode 100644 index 888f7922..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/90p39xzijkgh4ywq1t9ijveu1.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/9y10rckkmegt70c4fic7d9pn0.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/9y10rckkmegt70c4fic7d9pn0.o deleted file mode 100644 index 483dbf4e..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/9y10rckkmegt70c4fic7d9pn0.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/agt77gq173zfkllhyqtt7g778.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/agt77gq173zfkllhyqtt7g778.o deleted file mode 100644 index d4bcda88..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/agt77gq173zfkllhyqtt7g778.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/arqabmwpzh0w95srn7kwf39c3.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/arqabmwpzh0w95srn7kwf39c3.o deleted file mode 100644 index fe6d3c49..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/arqabmwpzh0w95srn7kwf39c3.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/br9og3o8t217kpyg0k4twauic.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/br9og3o8t217kpyg0k4twauic.o deleted file mode 100644 index 476149cd..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/br9og3o8t217kpyg0k4twauic.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/cu53u8qm0wjh7s5p10jdqv6k9.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/cu53u8qm0wjh7s5p10jdqv6k9.o deleted file mode 100644 index c9717928..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/cu53u8qm0wjh7s5p10jdqv6k9.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/d499c6yw1qx52w2i1ejat34b9.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/d499c6yw1qx52w2i1ejat34b9.o deleted file mode 100644 index 2cae0965..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/d499c6yw1qx52w2i1ejat34b9.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/dep-graph.bin b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/dep-graph.bin deleted file mode 100644 index a15f3c55..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/e0ga13reow5buorr3ciykquxg.o b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/e0ga13reow5buorr3ciykquxg.o deleted file mode 100644 index 63e49e77..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/e0ga13reow5buorr3ciykquxg.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/query-cache.bin b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/query-cache.bin deleted file mode 100644 index ba46c18a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/work-products.bin b/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/work-products.bin deleted file mode 100644 index 9671121d..00000000 Binary files a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3-2zrlzwyckzakklxxj4xgsli54/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/dep-graph.bin b/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/dep-graph.bin deleted file mode 100644 index 0e2840d9..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/query-cache.bin b/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/query-cache.bin deleted file mode 100644 index 04411501..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/work-products.bin b/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/work-products.bin deleted file mode 100644 index 682eda3a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a-bezcerp6vvc7fsyxbjhzch3yg/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a.lock b/rust/target/debug/incremental/core_protocol-3lnbdlbcnufjr/s-hhl4golkrm-0s09j4a.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/025xragbai5dta5plerat93f3.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/025xragbai5dta5plerat93f3.o deleted file mode 100644 index 73071f70..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/025xragbai5dta5plerat93f3.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0rv6ak5p0eb1rck5ctf2oaclr.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0rv6ak5p0eb1rck5ctf2oaclr.o deleted file mode 100644 index 59327207..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0rv6ak5p0eb1rck5ctf2oaclr.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0tmesi7kvcnj1zuun9t7x7d20.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0tmesi7kvcnj1zuun9t7x7d20.o deleted file mode 100644 index 982d0459..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/0tmesi7kvcnj1zuun9t7x7d20.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1gxilbg5v33c3sp3ixvyyyiw4.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1gxilbg5v33c3sp3ixvyyyiw4.o deleted file mode 100644 index c0c5c5f2..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1gxilbg5v33c3sp3ixvyyyiw4.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1ku29ivzmdo8smejib2buet6y.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1ku29ivzmdo8smejib2buet6y.o deleted file mode 100644 index d129840a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1ku29ivzmdo8smejib2buet6y.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1zlwgswl6mhaz1sc9tv7h6fvv.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1zlwgswl6mhaz1sc9tv7h6fvv.o deleted file mode 100644 index c73c8e71..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/1zlwgswl6mhaz1sc9tv7h6fvv.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2esnpumhts8ffozf9l7u1cptl.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2esnpumhts8ffozf9l7u1cptl.o deleted file mode 100644 index cd75db77..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2esnpumhts8ffozf9l7u1cptl.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2s1nr1urf1g6ngfu62hqx69z6.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2s1nr1urf1g6ngfu62hqx69z6.o deleted file mode 100644 index 9978726a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/2s1nr1urf1g6ngfu62hqx69z6.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/33z9d6jfu3y7tans15drunu25.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/33z9d6jfu3y7tans15drunu25.o deleted file mode 100644 index 898a2d4f..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/33z9d6jfu3y7tans15drunu25.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/3pc64ndxqojunfw70q4txk2ki.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/3pc64ndxqojunfw70q4txk2ki.o deleted file mode 100644 index 62a6a702..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/3pc64ndxqojunfw70q4txk2ki.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/4ml0g2qovdtyvw2yps2s2dm6r.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/4ml0g2qovdtyvw2yps2s2dm6r.o deleted file mode 100644 index 409e0cdc..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/4ml0g2qovdtyvw2yps2s2dm6r.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/54bzp638hogbizuf07vg0rggr.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/54bzp638hogbizuf07vg0rggr.o deleted file mode 100644 index 2e1d858a..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/54bzp638hogbizuf07vg0rggr.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5g3bohf2ogtx1my7ipgm599yn.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5g3bohf2ogtx1my7ipgm599yn.o deleted file mode 100644 index c508d27f..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5g3bohf2ogtx1my7ipgm599yn.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5zqjxe9k5bged35r763nbfgpn.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5zqjxe9k5bged35r763nbfgpn.o deleted file mode 100644 index 97d92322..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/5zqjxe9k5bged35r763nbfgpn.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/63jauxjb83pcyu8jjqh4ghypm.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/63jauxjb83pcyu8jjqh4ghypm.o deleted file mode 100644 index 94fb48d7..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/63jauxjb83pcyu8jjqh4ghypm.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/6wvm03xo5lvrennz7ybu2s283.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/6wvm03xo5lvrennz7ybu2s283.o deleted file mode 100644 index 74ee57e0..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/6wvm03xo5lvrennz7ybu2s283.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/72ivnb41hqr5vquk5s9h2x4gp.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/72ivnb41hqr5vquk5s9h2x4gp.o deleted file mode 100644 index 602bd5b5..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/72ivnb41hqr5vquk5s9h2x4gp.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7akx8q2pqv304u4mdxpaopyln.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7akx8q2pqv304u4mdxpaopyln.o deleted file mode 100644 index 9e88c77c..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7akx8q2pqv304u4mdxpaopyln.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7wejlbsn3tz5io3mgwqdz4ovv.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7wejlbsn3tz5io3mgwqdz4ovv.o deleted file mode 100644 index c16fbd77..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/7wejlbsn3tz5io3mgwqdz4ovv.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/82yozy4k7feq8bbi1vseniel7.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/82yozy4k7feq8bbi1vseniel7.o deleted file mode 100644 index 65dfafa6..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/82yozy4k7feq8bbi1vseniel7.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8o0c7rwox44axyop0raop2r4s.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8o0c7rwox44axyop0raop2r4s.o deleted file mode 100644 index 992cf347..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8o0c7rwox44axyop0raop2r4s.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8uu1j8tbu7j6ul9o1smyr2upp.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8uu1j8tbu7j6ul9o1smyr2upp.o deleted file mode 100644 index adf5c0b6..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8uu1j8tbu7j6ul9o1smyr2upp.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8wyw3p7t7bdrbyidven5kh4gq.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8wyw3p7t7bdrbyidven5kh4gq.o deleted file mode 100644 index b46e4c72..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/8wyw3p7t7bdrbyidven5kh4gq.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9im6cch2fucy3nppr4sfu093g.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9im6cch2fucy3nppr4sfu093g.o deleted file mode 100644 index 3320d1d4..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9im6cch2fucy3nppr4sfu093g.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9nwdk986c1d0zw8fzc2bfnye0.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9nwdk986c1d0zw8fzc2bfnye0.o deleted file mode 100644 index 097a30cb..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9nwdk986c1d0zw8fzc2bfnye0.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9o3ow6h6jvu4tkkzh5j9e61gj.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9o3ow6h6jvu4tkkzh5j9e61gj.o deleted file mode 100644 index eeb8bbb3..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/9o3ow6h6jvu4tkkzh5j9e61gj.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/a72er3wilmofw3v5fnsa7kp65.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/a72er3wilmofw3v5fnsa7kp65.o deleted file mode 100644 index c8c9ae52..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/a72er3wilmofw3v5fnsa7kp65.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aenvo7kqvtl9qaeaji8nij390.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aenvo7kqvtl9qaeaji8nij390.o deleted file mode 100644 index ca03a2f8..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aenvo7kqvtl9qaeaji8nij390.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/agp74hvmm9anemzdgu5c4eie8.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/agp74hvmm9anemzdgu5c4eie8.o deleted file mode 100644 index 18d779be..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/agp74hvmm9anemzdgu5c4eie8.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aj47ukddv95bjbzrn5bvyz1h9.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aj47ukddv95bjbzrn5bvyz1h9.o deleted file mode 100644 index 5348ce8e..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/aj47ukddv95bjbzrn5bvyz1h9.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/c2ujcnpuynqloq2bbjb37lr2p.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/c2ujcnpuynqloq2bbjb37lr2p.o deleted file mode 100644 index 0fb8240d..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/c2ujcnpuynqloq2bbjb37lr2p.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ccvj0ia30jepvnekodna0ru87.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ccvj0ia30jepvnekodna0ru87.o deleted file mode 100644 index 31c4421f..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ccvj0ia30jepvnekodna0ru87.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ci2li1eqs9b4v5852pus33d8h.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ci2li1eqs9b4v5852pus33d8h.o deleted file mode 100644 index 04f5a8b8..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/ci2li1eqs9b4v5852pus33d8h.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/cmr9rt9pnm6fruxiyp44odv32.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/cmr9rt9pnm6fruxiyp44odv32.o deleted file mode 100644 index d42addd4..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/cmr9rt9pnm6fruxiyp44odv32.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d28gnpgg7bbhmgzfk1osjhe0s.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d28gnpgg7bbhmgzfk1osjhe0s.o deleted file mode 100644 index cd179e84..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d28gnpgg7bbhmgzfk1osjhe0s.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d58h402xos9hk3rx9gcqmyb1p.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d58h402xos9hk3rx9gcqmyb1p.o deleted file mode 100644 index 3cf7e6dc..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/d58h402xos9hk3rx9gcqmyb1p.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dcq0fbcz3ncygblpjt0unw25h.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dcq0fbcz3ncygblpjt0unw25h.o deleted file mode 100644 index bd207d89..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dcq0fbcz3ncygblpjt0unw25h.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dep-graph.bin b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dep-graph.bin deleted file mode 100644 index 5e3eb7f8..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dq6tl2tw5dy0s7ihejcdegb20.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dq6tl2tw5dy0s7ihejcdegb20.o deleted file mode 100644 index 74605f2c..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/dq6tl2tw5dy0s7ihejcdegb20.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/euksz75gktc7xl3ewasiq9j9f.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/euksz75gktc7xl3ewasiq9j9f.o deleted file mode 100644 index e36bdb14..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/euksz75gktc7xl3ewasiq9j9f.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/extlmbh0w6fy52oq0oajtjmxs.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/extlmbh0w6fy52oq0oajtjmxs.o deleted file mode 100644 index 10709509..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/extlmbh0w6fy52oq0oajtjmxs.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/f56o08f5e10tpbpgl6c5wa84z.o b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/f56o08f5e10tpbpgl6c5wa84z.o deleted file mode 100644 index 8f476e47..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/f56o08f5e10tpbpgl6c5wa84z.o and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/query-cache.bin b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/query-cache.bin deleted file mode 100644 index 91fbca23..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/work-products.bin b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/work-products.bin deleted file mode 100644 index 94233e30..00000000 Binary files a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v-dstal0gg3jqagk1ec937zhhu4/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v.lock b/rust/target/debug/incremental/core_protocol-3q2cdycf0f7lx/s-hhl153wn9x-0y8ia8v.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/039j9bjwet2b6eymtajpqspae.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/039j9bjwet2b6eymtajpqspae.o deleted file mode 100644 index 7f16c8c8..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/039j9bjwet2b6eymtajpqspae.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/09z18wf0eyrpu2i3blwanmart.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/09z18wf0eyrpu2i3blwanmart.o deleted file mode 100644 index f0be35e8..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/09z18wf0eyrpu2i3blwanmart.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/18t7x0jcyuirze7njzv4mzs8b.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/18t7x0jcyuirze7njzv4mzs8b.o deleted file mode 100644 index 804ac0d6..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/18t7x0jcyuirze7njzv4mzs8b.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/19qzxkk4lqr8r4db0i5h76fq3.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/19qzxkk4lqr8r4db0i5h76fq3.o deleted file mode 100644 index 2a5aea77..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/19qzxkk4lqr8r4db0i5h76fq3.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1a5rfuomcoppx9an8qau0pcd8.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1a5rfuomcoppx9an8qau0pcd8.o deleted file mode 100644 index 921d3e4e..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1a5rfuomcoppx9an8qau0pcd8.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1punlkaoos9vdtgnzpiag9p5b.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1punlkaoos9vdtgnzpiag9p5b.o deleted file mode 100644 index ae2611c7..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1punlkaoos9vdtgnzpiag9p5b.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1twsrtejdqa95ns8dc447ugmk.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1twsrtejdqa95ns8dc447ugmk.o deleted file mode 100644 index 4f62c041..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/1twsrtejdqa95ns8dc447ugmk.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/29moyoh19l3ocdafgk3ycddo3.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/29moyoh19l3ocdafgk3ycddo3.o deleted file mode 100644 index cc5c0d5d..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/29moyoh19l3ocdafgk3ycddo3.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ix173c3aak9lelyqkdtkxbpy.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ix173c3aak9lelyqkdtkxbpy.o deleted file mode 100644 index b2bb0229..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ix173c3aak9lelyqkdtkxbpy.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2kzhqkavn8dsswy9ysyh5oewg.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2kzhqkavn8dsswy9ysyh5oewg.o deleted file mode 100644 index ce2715d3..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2kzhqkavn8dsswy9ysyh5oewg.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ok1ddc65yrtb03f26wg644h6.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ok1ddc65yrtb03f26wg644h6.o deleted file mode 100644 index 858e3d83..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2ok1ddc65yrtb03f26wg644h6.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2olyvmyat3pwi9ezsjekvadbk.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2olyvmyat3pwi9ezsjekvadbk.o deleted file mode 100644 index 3deedb80..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/2olyvmyat3pwi9ezsjekvadbk.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3gp13b83hl3eq0mez5fw1yknx.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3gp13b83hl3eq0mez5fw1yknx.o deleted file mode 100644 index 83857e03..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3gp13b83hl3eq0mez5fw1yknx.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s008716ul3kduxewbnyffx3e.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s008716ul3kduxewbnyffx3e.o deleted file mode 100644 index da9d8ec4..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s008716ul3kduxewbnyffx3e.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s8wvzmt0m4a3udn49ellx6hn.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s8wvzmt0m4a3udn49ellx6hn.o deleted file mode 100644 index 7a0525f2..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3s8wvzmt0m4a3udn49ellx6hn.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3tjo4oihrykjwnauqdlfuqglb.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3tjo4oihrykjwnauqdlfuqglb.o deleted file mode 100644 index 932d9f58..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/3tjo4oihrykjwnauqdlfuqglb.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4bj7cpqh1cnofa7sj1ipeiy90.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4bj7cpqh1cnofa7sj1ipeiy90.o deleted file mode 100644 index 4d1034a0..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4bj7cpqh1cnofa7sj1ipeiy90.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4iph6l9ely0uq9nzie174r6du.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4iph6l9ely0uq9nzie174r6du.o deleted file mode 100644 index 724394b8..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4iph6l9ely0uq9nzie174r6du.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pp1xixqvei00miy5zqcigbuj.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pp1xixqvei00miy5zqcigbuj.o deleted file mode 100644 index 7a7b9677..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pp1xixqvei00miy5zqcigbuj.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pr75hco5abfezynf0nv3la5w.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pr75hco5abfezynf0nv3la5w.o deleted file mode 100644 index 07c90f49..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4pr75hco5abfezynf0nv3la5w.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4qlgdkvlq20ke86q79mlt7xmh.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4qlgdkvlq20ke86q79mlt7xmh.o deleted file mode 100644 index 01f385c6..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/4qlgdkvlq20ke86q79mlt7xmh.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/52tfz4cpsm165ixl5dkktvnuf.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/52tfz4cpsm165ixl5dkktvnuf.o deleted file mode 100644 index 6d22c181..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/52tfz4cpsm165ixl5dkktvnuf.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5hzaxnqj2zanbrmzl25oylrmz.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5hzaxnqj2zanbrmzl25oylrmz.o deleted file mode 100644 index f8f9e511..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5hzaxnqj2zanbrmzl25oylrmz.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5kpf7s2y33g4s8o1o18itf65x.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5kpf7s2y33g4s8o1o18itf65x.o deleted file mode 100644 index 458cc322..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5kpf7s2y33g4s8o1o18itf65x.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5m1blfctvyi38gs1jm9nkfw2k.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5m1blfctvyi38gs1jm9nkfw2k.o deleted file mode 100644 index 06495bfd..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5m1blfctvyi38gs1jm9nkfw2k.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5pgzxyh4z8vlz8xjusn0sxvpg.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5pgzxyh4z8vlz8xjusn0sxvpg.o deleted file mode 100644 index 0cf9bdad..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5pgzxyh4z8vlz8xjusn0sxvpg.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5tbpedyrevjzmxxv3yp1wru0n.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5tbpedyrevjzmxxv3yp1wru0n.o deleted file mode 100644 index 45b4550b..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5tbpedyrevjzmxxv3yp1wru0n.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5xjd1bln9i2go1vfr8pmchqg2.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5xjd1bln9i2go1vfr8pmchqg2.o deleted file mode 100644 index c31a9624..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/5xjd1bln9i2go1vfr8pmchqg2.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/64blkpyf6fbpvrjoi8shlhr5r.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/64blkpyf6fbpvrjoi8shlhr5r.o deleted file mode 100644 index 82746f57..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/64blkpyf6fbpvrjoi8shlhr5r.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6bif9jyns5ze4iccrdxmuo9f8.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6bif9jyns5ze4iccrdxmuo9f8.o deleted file mode 100644 index 593d0b76..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6bif9jyns5ze4iccrdxmuo9f8.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6ktfz8h61eyhwlbyrq9vhjrfv.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6ktfz8h61eyhwlbyrq9vhjrfv.o deleted file mode 100644 index 0a6701b5..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/6ktfz8h61eyhwlbyrq9vhjrfv.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7fm0aq0x94wfa5o9njt72gl50.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7fm0aq0x94wfa5o9njt72gl50.o deleted file mode 100644 index bd9dc644..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7fm0aq0x94wfa5o9njt72gl50.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7gidib5qjm86di9txvj4jm1m6.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7gidib5qjm86di9txvj4jm1m6.o deleted file mode 100644 index f086dd02..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7gidib5qjm86di9txvj4jm1m6.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7hz9nbaz1erjw5uldpa24t64v.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7hz9nbaz1erjw5uldpa24t64v.o deleted file mode 100644 index 74cb870d..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7hz9nbaz1erjw5uldpa24t64v.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7pyps766k3raaitrcvplkpvg2.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7pyps766k3raaitrcvplkpvg2.o deleted file mode 100644 index 70f834fa..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7pyps766k3raaitrcvplkpvg2.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7s0j7hjcz3n078g2wf0f5pexn.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7s0j7hjcz3n078g2wf0f5pexn.o deleted file mode 100644 index a5a0bf5c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/7s0j7hjcz3n078g2wf0f5pexn.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/8am3hphsgf5dc4hmqvntfa67t.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/8am3hphsgf5dc4hmqvntfa67t.o deleted file mode 100644 index d288a3ac..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/8am3hphsgf5dc4hmqvntfa67t.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/97t0fgh74devoeh5tqag2smlo.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/97t0fgh74devoeh5tqag2smlo.o deleted file mode 100644 index cbd82da3..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/97t0fgh74devoeh5tqag2smlo.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/987ebqkxc6dhhlw4b8i50tdud.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/987ebqkxc6dhhlw4b8i50tdud.o deleted file mode 100644 index 3bb29bc9..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/987ebqkxc6dhhlw4b8i50tdud.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/995xaow4io9qiti4glq351ild.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/995xaow4io9qiti4glq351ild.o deleted file mode 100644 index a32ee2c1..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/995xaow4io9qiti4glq351ild.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9iguuvu9qpcujdydbu6dbf2dt.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9iguuvu9qpcujdydbu6dbf2dt.o deleted file mode 100644 index 6a8f89cf..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9iguuvu9qpcujdydbu6dbf2dt.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9knj76z9dhr1dghulv8s37zdm.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9knj76z9dhr1dghulv8s37zdm.o deleted file mode 100644 index 72f23492..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9knj76z9dhr1dghulv8s37zdm.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9qpfr6a0qymzd7er1rmv6idt3.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9qpfr6a0qymzd7er1rmv6idt3.o deleted file mode 100644 index 680f0931..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9qpfr6a0qymzd7er1rmv6idt3.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9x6qfllmyaoix2ualofwebx9k.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9x6qfllmyaoix2ualofwebx9k.o deleted file mode 100644 index c789489c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/9x6qfllmyaoix2ualofwebx9k.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a6agzhbcy0uzmi6b1l2y5d7b5.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a6agzhbcy0uzmi6b1l2y5d7b5.o deleted file mode 100644 index 87eb8f31..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a6agzhbcy0uzmi6b1l2y5d7b5.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a8arkzzebc532vyxmwcj4vsie.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a8arkzzebc532vyxmwcj4vsie.o deleted file mode 100644 index 5cc42e68..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/a8arkzzebc532vyxmwcj4vsie.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ab256b7s9nvxsticqbtpvuw13.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ab256b7s9nvxsticqbtpvuw13.o deleted file mode 100644 index c2fab29d..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ab256b7s9nvxsticqbtpvuw13.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ad8h67qmeqpgc4zrpzm3mgwm5.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ad8h67qmeqpgc4zrpzm3mgwm5.o deleted file mode 100644 index 58bfdd02..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ad8h67qmeqpgc4zrpzm3mgwm5.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/am50fpawpork44ywflixup381.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/am50fpawpork44ywflixup381.o deleted file mode 100644 index 3720dc32..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/am50fpawpork44ywflixup381.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/anzgznle8f828ntrm2jmo9nm1.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/anzgznle8f828ntrm2jmo9nm1.o deleted file mode 100644 index e2f1cbfe..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/anzgznle8f828ntrm2jmo9nm1.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/aoir5cuzz7ekeexx77huwsfsk.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/aoir5cuzz7ekeexx77huwsfsk.o deleted file mode 100644 index f4d4f18e..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/aoir5cuzz7ekeexx77huwsfsk.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b2yi7otxp00ywavsqhzw0ek41.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b2yi7otxp00ywavsqhzw0ek41.o deleted file mode 100644 index 187f22be..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b2yi7otxp00ywavsqhzw0ek41.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7b20y8gyaasph29qem26oud9.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7b20y8gyaasph29qem26oud9.o deleted file mode 100644 index b8a19989..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7b20y8gyaasph29qem26oud9.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7uf5z0hef7k763bx1fb8ytiz.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7uf5z0hef7k763bx1fb8ytiz.o deleted file mode 100644 index 07dec119..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/b7uf5z0hef7k763bx1fb8ytiz.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi8dl23a9vjgxuj59jcqvts0c.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi8dl23a9vjgxuj59jcqvts0c.o deleted file mode 100644 index 9d89e499..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi8dl23a9vjgxuj59jcqvts0c.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi9zo6ryg22o0w44ogdww1ihr.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi9zo6ryg22o0w44ogdww1ihr.o deleted file mode 100644 index 5b1f89f1..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/bi9zo6ryg22o0w44ogdww1ihr.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/btiz9alr7q70vo1q39ql04hzo.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/btiz9alr7q70vo1q39ql04hzo.o deleted file mode 100644 index 3aa4a9d4..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/btiz9alr7q70vo1q39ql04hzo.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/crxbx0yn9r269lktyptq1varl.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/crxbx0yn9r269lktyptq1varl.o deleted file mode 100644 index d3069c26..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/crxbx0yn9r269lktyptq1varl.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/cvwb5wzcnwqdblvd0s8skksi2.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/cvwb5wzcnwqdblvd0s8skksi2.o deleted file mode 100644 index 8ab54c05..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/cvwb5wzcnwqdblvd0s8skksi2.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/d6xiwtcawnrbv7j3a1lbu7rlp.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/d6xiwtcawnrbv7j3a1lbu7rlp.o deleted file mode 100644 index 64788c76..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/d6xiwtcawnrbv7j3a1lbu7rlp.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dbxx2vq3kgw3wte5uh4jozu4k.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dbxx2vq3kgw3wte5uh4jozu4k.o deleted file mode 100644 index 3411095b..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dbxx2vq3kgw3wte5uh4jozu4k.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dep-graph.bin b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dep-graph.bin deleted file mode 100644 index a08f5755..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/deurc8ur3qb1d9hi62x2u2vvj.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/deurc8ur3qb1d9hi62x2u2vvj.o deleted file mode 100644 index 5d660bba..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/deurc8ur3qb1d9hi62x2u2vvj.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/djj23swh60530h68mr2ep8vkl.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/djj23swh60530h68mr2ep8vkl.o deleted file mode 100644 index a327741c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/djj23swh60530h68mr2ep8vkl.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dou4yjv5brytpj6bdbb9os2b6.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dou4yjv5brytpj6bdbb9os2b6.o deleted file mode 100644 index 16e950a5..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dou4yjv5brytpj6bdbb9os2b6.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dw9ri8rnswtzwwiwga3dznkbn.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dw9ri8rnswtzwwiwga3dznkbn.o deleted file mode 100644 index 8d481a78..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/dw9ri8rnswtzwwiwga3dznkbn.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ej5gdaf6m3mru7zk16q0uppsi.o b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ej5gdaf6m3mru7zk16q0uppsi.o deleted file mode 100644 index dddd2451..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/ej5gdaf6m3mru7zk16q0uppsi.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/query-cache.bin b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/query-cache.bin deleted file mode 100644 index 4c0d00ed..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/work-products.bin b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/work-products.bin deleted file mode 100644 index 80af8e5a..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi-9cs4zkb9gja4nhgp0d48uxc7j/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi.lock b/rust/target/debug/incremental/storage_convex_bridge-0j1pgeljtd9oc/s-hhl153yx3x-013wyvi.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/dep-graph.bin b/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/dep-graph.bin deleted file mode 100644 index de86298f..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/query-cache.bin b/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/query-cache.bin deleted file mode 100644 index 8dd77fbc..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/work-products.bin b/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/work-products.bin deleted file mode 100644 index 682eda3a..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2-a3hftn2q4lwcw9q46s3a242x5/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2.lock b/rust/target/debug/incremental/storage_convex_bridge-2nhwyc2taiyfl/s-hhl4gon5ba-0dc3ld2.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/13w6ids9kwxyowlyi4cv0fts9.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/13w6ids9kwxyowlyi4cv0fts9.o deleted file mode 100644 index 092044fe..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/13w6ids9kwxyowlyi4cv0fts9.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wi9cpl761ip91vawypucpf06.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wi9cpl761ip91vawypucpf06.o deleted file mode 100644 index a0294559..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wi9cpl761ip91vawypucpf06.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wwxal1thld4sm7luanhk8iih.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wwxal1thld4sm7luanhk8iih.o deleted file mode 100644 index 117e2dd7..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/1wwxal1thld4sm7luanhk8iih.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2d4krd4j74ep5srzjgu3uwdpn.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2d4krd4j74ep5srzjgu3uwdpn.o deleted file mode 100644 index eb169d10..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2d4krd4j74ep5srzjgu3uwdpn.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2dab0btbq9l6wzm8lmgylanri.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2dab0btbq9l6wzm8lmgylanri.o deleted file mode 100644 index ec537988..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2dab0btbq9l6wzm8lmgylanri.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2occogj3f8scaacw4lyc10rh0.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2occogj3f8scaacw4lyc10rh0.o deleted file mode 100644 index a5225aeb..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/2occogj3f8scaacw4lyc10rh0.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/4ynu8gy2229oeipq7q1v16823.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/4ynu8gy2229oeipq7q1v16823.o deleted file mode 100644 index 45b4bc4b..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/4ynu8gy2229oeipq7q1v16823.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/68c5jwcfffz5w8mtw6x36qzo6.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/68c5jwcfffz5w8mtw6x36qzo6.o deleted file mode 100644 index efddb78a..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/68c5jwcfffz5w8mtw6x36qzo6.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/6ubsoazkh8fi00pet05s247ia.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/6ubsoazkh8fi00pet05s247ia.o deleted file mode 100644 index 45e84f28..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/6ubsoazkh8fi00pet05s247ia.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/74bd3skqlvvusz6iqu54ue0eb.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/74bd3skqlvvusz6iqu54ue0eb.o deleted file mode 100644 index 3a4f0fbb..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/74bd3skqlvvusz6iqu54ue0eb.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/777tbtpnrhkqsp3gffbl227pd.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/777tbtpnrhkqsp3gffbl227pd.o deleted file mode 100644 index 55319561..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/777tbtpnrhkqsp3gffbl227pd.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7er606vm52wf6hjk0r41dpb7b.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7er606vm52wf6hjk0r41dpb7b.o deleted file mode 100644 index 5864e306..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7er606vm52wf6hjk0r41dpb7b.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7v99lrqhgj6r18np1jl767sfe.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7v99lrqhgj6r18np1jl767sfe.o deleted file mode 100644 index f357cabb..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/7v99lrqhgj6r18np1jl767sfe.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/8jioojqfumfqfwe5fuybi65am.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/8jioojqfumfqfwe5fuybi65am.o deleted file mode 100644 index f7664ed8..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/8jioojqfumfqfwe5fuybi65am.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/95j62296dpolhx29ub5fd9cgs.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/95j62296dpolhx29ub5fd9cgs.o deleted file mode 100644 index 7bff4575..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/95j62296dpolhx29ub5fd9cgs.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/99nyl2dazho939h7y2otxypjp.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/99nyl2dazho939h7y2otxypjp.o deleted file mode 100644 index abb8f46c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/99nyl2dazho939h7y2otxypjp.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/9pn6sob3u1vz95kip7vs9v7hd.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/9pn6sob3u1vz95kip7vs9v7hd.o deleted file mode 100644 index 679b6ec7..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/9pn6sob3u1vz95kip7vs9v7hd.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a56snj3ckk44x511avopmoh4z.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a56snj3ckk44x511avopmoh4z.o deleted file mode 100644 index c406863c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a56snj3ckk44x511avopmoh4z.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a5zrndxctfmrsg2lykrjqhizp.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a5zrndxctfmrsg2lykrjqhizp.o deleted file mode 100644 index 767a2d5a..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/a5zrndxctfmrsg2lykrjqhizp.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/affeyiiumor5gkolrd5pzchh7.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/affeyiiumor5gkolrd5pzchh7.o deleted file mode 100644 index dd967070..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/affeyiiumor5gkolrd5pzchh7.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/aqw9z4oz8uhv0k3wydlqelnrc.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/aqw9z4oz8uhv0k3wydlqelnrc.o deleted file mode 100644 index 7703678c..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/aqw9z4oz8uhv0k3wydlqelnrc.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/c2te5zdmxch82eg0wmyr3e9lu.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/c2te5zdmxch82eg0wmyr3e9lu.o deleted file mode 100644 index be20e533..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/c2te5zdmxch82eg0wmyr3e9lu.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/cf1561iteoxzxfqzoazm2kth7.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/cf1561iteoxzxfqzoazm2kth7.o deleted file mode 100644 index b6348ace..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/cf1561iteoxzxfqzoazm2kth7.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dep-graph.bin b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dep-graph.bin deleted file mode 100644 index 983c92a6..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dep-graph.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dzlcfe90f8jr23dlz2xvl4omy.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dzlcfe90f8jr23dlz2xvl4omy.o deleted file mode 100644 index f4489649..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/dzlcfe90f8jr23dlz2xvl4omy.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/edoai52vuhbbfbim4qqlo442j.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/edoai52vuhbbfbim4qqlo442j.o deleted file mode 100644 index a3820ac2..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/edoai52vuhbbfbim4qqlo442j.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/eqgd91hpn5sfsyci6vbn568p7.o b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/eqgd91hpn5sfsyci6vbn568p7.o deleted file mode 100644 index f235a4d3..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/eqgd91hpn5sfsyci6vbn568p7.o and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/query-cache.bin b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/query-cache.bin deleted file mode 100644 index 40ddffd1..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/query-cache.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/work-products.bin b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/work-products.bin deleted file mode 100644 index 178dd88d..00000000 Binary files a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0-c4hv4la80nrj6qaul61f0db1x/work-products.bin and /dev/null differ diff --git a/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0.lock b/rust/target/debug/incremental/storage_convex_bridge-2nozxgcvus2jt/s-hhl153y5f4-1mb28k0.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3.lock b/storage-convex-bridge similarity index 100% rename from rust/target/debug/incremental/core_protocol-1o9yw3jm5j175/s-hhl153wn9x-033msj3.lock rename to storage-convex-bridge diff --git a/wolai-frontend/src/app/api/onlyoffice/callback/route.ts b/wolai-frontend/src/app/api/onlyoffice/callback/route.ts index a9fef252..33204470 100644 --- a/wolai-frontend/src/app/api/onlyoffice/callback/route.ts +++ b/wolai-frontend/src/app/api/onlyoffice/callback/route.ts @@ -3,6 +3,14 @@ import { isConvexEnabled } from "@/lib/convex/enabled"; import { getConvexHttpClient } from "@/lib/convex/server"; import { api } from "@/lib/convex/api"; import { resolveOnlyOfficeInternalUrl } from "@/lib/onlyoffice/internal-url"; +import { + buildDocumentBridgeContextWithActor, + buildDocumentCommandEnvelope, +} from "@/lib/documents/bridge"; +import { + executeMediaAssetWritebackBridgeCommand, + type MediaAssetReplaceStoragePayload, +} from "@/lib/documents/media-asset-command-adapter"; export const dynamic = "force-dynamic"; @@ -137,10 +145,42 @@ export async function POST(request: Request) { return NextResponse.json({ error: 1 }); } - await client.mutation(api.mediaAssets.replaceStorageFromUpload, { - userId, - id: assetId, - storageId: storageId as any, + const bridgeContext = buildDocumentBridgeContextWithActor({ + request, + workspaceId: String((asset as any).workspace_id || "").trim() || null, + actor: { + actorType: "service", + actorId: userId, + sessionId: "onlyoffice-callback", + }, + source: { + channel: "onlyoffice-callback", + client: "onlyoffice-document-server", + }, + idempotencyKey: String(body.key || assetId || "").trim() || null, + }); + const envelope = buildDocumentCommandEnvelope({ + name: "media.assets.replace_storage", + payload: { + assetId, + documentId: String((asset as any).document_id || "").trim(), + workspaceId: String((asset as any).workspace_id || "").trim() || null, + storageId, + userId, + } satisfies MediaAssetReplaceStoragePayload, + context: bridgeContext, + target: { + workspaceId: String((asset as any).workspace_id || "").trim() || null, + pageId: String((asset as any).document_id || "").trim() || null, + }, + reason: "ONLYOFFICE 回调写回附件存储", + refs: [`onlyoffice:asset:${assetId}`], + }); + + await executeMediaAssetWritebackBridgeCommand({ + client, + context: bridgeContext, + envelope, }); return NextResponse.json({ error: 0 }); diff --git a/wolai-frontend/src/lib/documents/bridge-log.ts b/wolai-frontend/src/lib/documents/bridge-log.ts index 7ea124d4..37e18055 100644 --- a/wolai-frontend/src/lib/documents/bridge-log.ts +++ b/wolai-frontend/src/lib/documents/bridge-log.ts @@ -1,8 +1,7 @@ import { api } from "@/lib/convex/api"; import type { BridgeContext, BridgeTarget, CommandEnvelope } from "@/lib/documents/bridge"; import { getAuthedConvexClient } from "@/lib/convex/route"; - -const bridgeLogsApi = api as any; +import type { ConvexHttpClient } from "convex/browser"; function buildPayloadSummary(commandName: string, context: BridgeContext): string { return `command=${commandName};request_id=${context.requestId};trace_id=${context.traceId}`; @@ -15,17 +14,18 @@ function normalizeWorkspaceId(context: BridgeContext, target?: BridgeTarget | nu export async function recordBridgeCommandArtifacts(input: { context: BridgeContext; envelope: CommandEnvelope; + client?: ConvexHttpClient; }): Promise { const workspaceId = normalizeWorkspaceId(input.context, input.envelope.target); if (!workspaceId) return; - const { client } = await getAuthedConvexClient(); + const client = input.client ?? (await getAuthedConvexClient()).client; const commandLogId = `clog_${input.envelope.commandId}`; const eventId = `evt_${input.envelope.commandId}`; const now = new Date().toISOString(); const payload = input.envelope.payload as Record; - await client.mutation(bridgeLogsApi.bridgeLogs.recordCommandLog, { + await client.mutation(api.bridgeLogs.recordCommandLog, { workspaceId, id: commandLogId, requestId: input.context.requestId, @@ -48,7 +48,7 @@ export async function recordBridgeCommandArtifacts(input: { finishedAt: now, }); - await client.mutation(bridgeLogsApi.bridgeLogs.recordDomainEvent, { + await client.mutation(api.bridgeLogs.recordDomainEvent, { workspaceId, id: eventId, requestId: input.context.requestId, diff --git a/wolai-frontend/src/lib/documents/bridge.test.ts b/wolai-frontend/src/lib/documents/bridge.test.ts index ab2c8a80..ffcf9142 100644 --- a/wolai-frontend/src/lib/documents/bridge.test.ts +++ b/wolai-frontend/src/lib/documents/bridge.test.ts @@ -30,10 +30,12 @@ import { assertStats, assertTitle, buildDocumentBridgeMutationRequest, + buildDocumentBridgeContextWithActor, buildDocumentCommandEnvelope, buildDocumentQueryEnvelope, type BridgeContext, } from "@/lib/documents/bridge"; +import { executeMediaAssetWritebackBridgeCommand } from "@/lib/documents/media-asset-command-adapter"; import { executeMetadataBridgeCommand } from "@/lib/documents/metadata-command-adapter"; import { executeSaveBridgeCommand } from "@/lib/documents/save-command-adapter"; import { buildDocumentSavePayload } from "@/lib/documents/save-contract"; @@ -228,6 +230,83 @@ describe("documents bridge helpers", () => { }); }); + it("buildDocumentBridgeMutationRequest builds media asset writeback runtime request", () => { + const envelope = buildDocumentCommandEnvelope({ + name: "media.assets.replace_storage", + payload: { + assetId: "asset_1", + documentId: "doc_1", + workspaceId: "ws_1", + storageId: "storage_1", + userId: "user_1", + }, + context: mockContext, + target: { workspaceId: "ws_1", pageId: "doc_1" }, + }); + + const request = buildDocumentBridgeMutationRequest({ + context: mockContext, + envelope, + mapConvexArgs: (payload) => ({ + userId: payload.userId, + id: payload.assetId, + storageId: payload.storageId, + }), + }); + + expect(request.functionName).toBe("mediaAssets:replaceStorageFromUpload"); + expect(request.workspaceId).toBe("ws_1"); + expect(request.args).toEqual({ + userId: "user_1", + id: "asset_1", + storageId: "storage_1", + }); + expect(JSON.parse(request.payloadJson)).toMatchObject({ + kind: "command", + name: "media.assets.replace_storage", + workspace_id: "ws_1", + request_id: "req_1", + trace_id: "trace_1", + }); + }); + + it("buildDocumentBridgeContextWithActor keeps explicit actor and source", () => { + const request = new Request("http://127.0.0.1:3001/api/onlyoffice/callback", { + headers: { + "x-request-id": "req_oo_1", + "x-trace-id": "trace_oo_1", + }, + }); + + const context = buildDocumentBridgeContextWithActor({ + request, + workspaceId: "ws_1", + actor: { + actorType: "service", + actorId: "user_1", + sessionId: "onlyoffice-callback", + }, + source: { + channel: "onlyoffice-callback", + client: "onlyoffice-document-server", + }, + idempotencyKey: "asset_1", + }); + + expect(context.requestId).toBe("req_oo_1"); + expect(context.traceId).toBe("trace_oo_1"); + expect(context.actor).toEqual({ + actorType: "service", + actorId: "user_1", + sessionId: "onlyoffice-callback", + }); + expect(context.source).toEqual({ + channel: "onlyoffice-callback", + client: "onlyoffice-document-server", + }); + expect(context.idempotencyKey).toBe("asset_1"); + }); + it("executeMetadataBridgeCommand routes title update through adapter", async () => { const mutation = vi.fn().mockResolvedValue({ ok: true }); const { getAuthedConvexClient } = await import("@/lib/convex/route"); @@ -400,4 +479,43 @@ describe("documents bridge helpers", () => { code: "REJECTED", }); }); + + it("executeMediaAssetWritebackBridgeCommand routes callback writeback through adapter", async () => { + const mutation = vi.fn().mockResolvedValue({ ok: true, fileUrl: "https://example.com/file.docx" }); + const { recordBridgeCommandArtifacts } = await import("@/lib/documents/bridge-log"); + vi.mocked(recordBridgeCommandArtifacts).mockResolvedValue(undefined); + + await executeMediaAssetWritebackBridgeCommand({ + client: { + mutation, + } as unknown as ConvexHttpClient, + context: mockContext, + envelope: buildDocumentCommandEnvelope({ + name: "media.assets.replace_storage", + payload: { + assetId: "asset_1", + documentId: "doc_1", + workspaceId: "ws_1", + storageId: "storage_1", + userId: "user_1", + }, + context: mockContext, + target: { workspaceId: "ws_1", pageId: "doc_1" }, + }), + }); + + expect(mutation).toHaveBeenCalledTimes(1); + expect(mutation.mock.calls[0]?.[1]).toEqual({ + userId: "user_1", + id: "asset_1", + storageId: "storage_1", + }); + expect(recordBridgeCommandArtifacts).toHaveBeenCalledWith({ + client: expect.any(Object), + context: mockContext, + envelope: expect.objectContaining({ + name: "media.assets.replace_storage", + }), + }); + }); }); diff --git a/wolai-frontend/src/lib/documents/bridge.ts b/wolai-frontend/src/lib/documents/bridge.ts index 366a5d6e..ef955bcb 100644 --- a/wolai-frontend/src/lib/documents/bridge.ts +++ b/wolai-frontend/src/lib/documents/bridge.ts @@ -101,6 +101,7 @@ const DOCUMENT_BRIDGE_MUTATION_FUNCTIONS = { "documents.stats.update": "documents:updateStats", "documents.options.update": "documents:updateOptions", "documents.save": "documents:updateContent", + "media.assets.replace_storage": "mediaAssets:replaceStorageFromUpload", } as const satisfies Record; function readHeaderValue(headerList: Headers, ...candidates: string[]): string | null { @@ -180,6 +181,55 @@ export async function buildDocumentBridgeContext(input: { }; } +export function buildDocumentBridgeContextWithActor(input: { + request: Request; + actor: BridgeActor; + workspaceId?: string | null; + idempotencyKey?: string | null; + validateOnly?: boolean; + dryRun?: boolean; + source?: Partial; + authToken?: string | null; +}): BridgeContext { + const headerList = input.request.headers; + const requestId = + readHeaderValue(headerList, "x-request-id", "x-mnote-request-id") ?? makeFallbackId("req"); + const traceId = + readHeaderValue(headerList, "x-trace-id", "x-mnote-trace-id", "x-request-id") ?? makeFallbackId("trace"); + const sourceChannel = input.source?.channel?.trim() || readHeaderValue(headerList, "x-source-channel") || "next-route"; + const sourceClient = + input.source?.client?.trim() || + readHeaderValue(headerList, "x-source-client", "user-agent") || + "wolai-frontend"; + const deploymentId = + readHeaderValue(headerList, "x-deployment-id") ?? process.env.VERCEL_DEPLOYMENT_ID ?? null; + const projectId = readHeaderValue(headerList, "x-project-id") ?? process.env.VERCEL_PROJECT_ID ?? null; + const tenantId = readHeaderValue(headerList, "x-tenant-id"); + const authToken = input.authToken ?? readHeaderValue(headerList, "authorization"); + const idempotencyKey = + input.idempotencyKey ?? readHeaderValue(headerList, "idempotency-key", "x-idempotency-key"); + const validateOnly = input.validateOnly ?? toBooleanFlag(readHeaderValue(headerList, "x-validate-only")); + const dryRun = input.dryRun ?? toBooleanFlag(readHeaderValue(headerList, "x-dry-run")); + + return { + deploymentId, + projectId, + workspaceId: input.workspaceId ?? null, + requestId, + traceId, + actor: input.actor, + source: { + channel: sourceChannel, + client: sourceClient, + }, + tenantId, + authToken, + idempotencyKey, + validateOnly, + dryRun, + }; +} + export function buildDocumentCommandEnvelope(input: { name: string; payload: T; diff --git a/wolai-frontend/src/lib/documents/media-asset-command-adapter.ts b/wolai-frontend/src/lib/documents/media-asset-command-adapter.ts new file mode 100644 index 00000000..ec42b4c3 --- /dev/null +++ b/wolai-frontend/src/lib/documents/media-asset-command-adapter.ts @@ -0,0 +1,64 @@ +import type { ConvexHttpClient } from "convex/browser"; +import { api } from "@/lib/convex/api"; +import { + buildDocumentBridgeMutationRequest, + executeDocumentBridgeMutationRequest, + type CommandEnvelope, + type BridgeContext, +} from "@/lib/documents/bridge"; +import { recordBridgeCommandArtifacts } from "@/lib/documents/bridge-log"; + +export type MediaAssetReplaceStoragePayload = { + assetId: string; + documentId: string; + workspaceId: string | null; + storageId: string; + userId: string; +}; + +export type MediaAssetWritebackExecutionResult = { + requestId: string; + traceId: string; + commandId: string; + commandName: string; +}; + +export async function executeMediaAssetWritebackBridgeCommand(input: { + client: ConvexHttpClient; + context: BridgeContext; + envelope: CommandEnvelope; +}): Promise { + const mutationRequest = buildDocumentBridgeMutationRequest({ + context: input.context, + envelope: input.envelope, + mapConvexArgs: (payload) => ({ + userId: payload.userId, + id: payload.assetId, + storageId: payload.storageId as any, + }), + }); + + await executeDocumentBridgeMutationRequest({ + client: input.client, + mutation: api.mediaAssets.replaceStorageFromUpload, + request: mutationRequest, + }); + + try { + await recordBridgeCommandArtifacts({ + client: input.client, + context: input.context, + envelope: input.envelope, + }); + } catch (error) { + // 说明:OnlyOffice callback 写回的主事实是附件存储替换;日志落账失败不应反向导致保存失败。 + console.warn("[onlyoffice/callback] bridge log write skipped:", error); + } + + return { + requestId: input.context.requestId, + traceId: input.context.traceId, + commandId: input.envelope.commandId, + commandName: input.envelope.name, + }; +}