Files
mnote/harness-tasks.json
T
lix-2026 4ab36a9386 feat(tree): complete rust family runtime checklist
- add tree shell runtime artifact contracts and page/filetree/picker runtime reducers
- sink tree.subtree.move write operation through Rust and formalize command event plans
- harden file tree search projection contract and route thin-proxy boundaries
- record completed harness tasks and move design docs into process/done
2026-04-27 10:27:15 +08:00

275 lines
11 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"version": 2,
"created": "2026-04-26T23:16:13Z",
"session_config": {
"concurrency_mode": "exclusive",
"max_tasks_per_session": 9,
"max_sessions": 80
},
"tasks": [
{
"id": "task-001",
"title": "Phase K-1:定义 tree shell Rust runtime artifact 边界",
"status": "completed",
"priority": "P0",
"depends_on": [],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web renderer_input && cargo test -p mnote-web runtime_artifact && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/components/sidebar/tree-shell-iframe-host.test.tsx",
"timeout_seconds": 1800
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已在 mnote-web rendererInput 中定义 rust_tree_shell_runtime_artifact_v1,覆盖 rendererInput/projection/expanded/selected/active/focused 输入、DOM patch/intent/command 输出和 focus/keyboard/expand/selection/context/drag/pick 事件边界;3000 inline host 同步输出同名 runtimeArtifact。",
"timestamp": "2026-04-26T23:22:39Z"
}
],
"completed_at": "2026-04-26T23:22:39Z"
},
{
"id": "task-002",
"title": "Phase K-2:建立 page tree Rust-side runtime 状态机",
"status": "completed",
"priority": "P0",
"depends_on": [
"task-001"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web page_renderer && cargo test -p mnote-web page_focus && cargo test -p mnote-web page_runtime && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/components/sidebar/tree-shell-iframe-host.test.tsx src/components/sidebar/tree-shell-surface.test.tsx && node /mnt/Data1T/mnote/scripts/task112-tree-rust-family-regression-smoke.js",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已新增 page_runtime reducer,组合 focus/expand/open/context-menu/drop feedback/tree.subtree.move dispatch 输出,验证 page_renderer/page_focus/page_runtime、tree-shell iframe/surface vitest 与 task112 smoke 均通过。",
"timestamp": "2026-04-26T23:27:43Z"
}
],
"completed_at": "2026-04-26T23:27:43Z"
},
{
"id": "task-003",
"title": "Phase K-3:建立 file tree Rust-side runtime 状态机",
"status": "completed",
"priority": "P0",
"depends_on": [
"task-001"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web filetree_renderer && cargo test -p mnote-web filetree_selection && cargo test -p mnote-web filetree_runtime && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/components/sidebar/tree-shell-iframe-host.test.tsx src/lib/file-tree/shell.test.ts src/lib/tree-stream/tree-delta.test.ts && node /mnt/Data1T/mnote/scripts/task112-tree-rust-family-regression-smoke.js",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已新增 filetree_runtime reducer,覆盖 selection/range/context/normalize、drag row ids、copy/move effect、drop target feedback,以及 doc/index/asset-folder/asset 的 open/context-menu intent;目标测试与 task112 smoke 通过。",
"timestamp": "2026-04-26T23:32:11Z"
}
],
"completed_at": "2026-04-26T23:32:11Z"
},
{
"id": "task-004",
"title": "Phase K-4:建立 picker Rust-side runtime 状态机",
"status": "completed",
"priority": "P0",
"depends_on": [
"task-001"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web picker_renderer && cargo test -p mnote-web picker_state && cargo test -p mnote-web picker_runtime && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/components/documents/move-embed-picker-dialog.test.tsx src/components/sidebar/tree-shell-iframe-host.test.tsx && node /mnt/Data1T/mnote/scripts/task113-picker-keyboard-regression-smoke.js",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已新增 picker_runtime reducer,覆盖 normalize/next/previous/home/end/focus/pick、excluded ids、root pick,以及搜索输入不被键盘运行时抢 DOM 焦点的 focus_dom 输出边界;目标测试与 task113 smoke 通过。",
"timestamp": "2026-04-26T23:34:59Z"
}
],
"completed_at": "2026-04-26T23:34:59Z"
},
{
"id": "task-005",
"title": "Phase K-53000 host 调用正式 runtime artifact,并将 mnote-web /tree 固定为 debug/internal",
"status": "completed",
"priority": "P0",
"depends_on": [
"task-002",
"task-003",
"task-004"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/components/sidebar/tree-shell-iframe-host.test.tsx src/components/sidebar/tree-shell-surface.test.tsx && node /mnt/Data1T/mnote/scripts/task112-tree-rust-family-regression-smoke.js && node /mnt/Data1T/mnote/scripts/task113-picker-keyboard-regression-smoke.js",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已固定 3000 inline host 与 mnote-web debug shell 均输出 rust_tree_shell_runtime_artifact_v1,并通过 tree-shell 目标测试、task112 与 task113 证明 3000 主路径继续使用 inline iframe host/api/tree/shell debug 直连默认禁用。",
"timestamp": "2026-04-26T23:38:55Z"
}
],
"completed_at": "2026-04-26T23:38:55Z"
},
{
"id": "task-006",
"title": "Phase L:将 tree.subtree.move 最终写路径继续下沉 Rust kernel",
"status": "completed",
"priority": "P0",
"depends_on": [
"task-005"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p bridge-runtime tree_subtree_move_command && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/app/api/tree/commands/route.test.ts src/lib/documents/tree-command-client.test.ts src/lib/tree-stream/tree-delta.test.ts",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已引入 Rust treeWriteOperationConvex documents.move 优先执行 Rust write operationnormalizedMove 保留旧 fallbackbridge-runtime move 单测与前端 39 个目标测试通过。",
"timestamp": "2026-04-26T23:52:52Z"
}
],
"completed_at": "2026-04-26T23:52:52Z"
},
{
"id": "task-007",
"title": "Phase M:补齐 block/save-snapshot formal artifact 与 domain-event contract",
"status": "completed",
"priority": "P1",
"depends_on": [
"task-006"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/rust && cargo test -p bridge-runtime documents_save_command_plans_include_formal_domain_event_contract && cargo test -p bridge-runtime block_commands_include_formal_domain_event_contract && cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/lib/documents/rust-runtime.test.ts src/lib/documents/page-write-command-adapter.test.ts src/lib/blocks/block-command-adapter.test.ts",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已将 page.body.saved、block.patched、block.moved、block.embedded 切到 formal domainEventPlan payload schema;复合命令 streamDelta 使用 resync_required 保守策略,command log/domain event 通过同一 command_id 关联;目标验证通过。",
"timestamp": "2026-04-27T00:09:12Z"
}
],
"completed_at": "2026-04-27T00:09:12Z"
},
{
"id": "task-008",
"title": "Phase N:继续收薄 3000 Next route 过渡职责",
"status": "completed",
"priority": "P1",
"depends_on": [
"task-007"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/app/api/tree/commands/route.test.ts src/lib/tree-stream/tree-delta.test.ts && node /mnt/Data1T/mnote/scripts/task112-tree-rust-family-regression-smoke.js",
"timeout_seconds": 2400
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 2,
"total": 2,
"description": "Phase N route thinning manifest 与 task112 iframe-ready smoke 同步已完成;刷新本地 Convex functions 后 move treeWriteOperation 运行态验证通过,目标 Vitest 与 task112 smoke 均通过。",
"timestamp": "2026-04-27T00:34:43Z"
}
],
"completed_at": "2026-04-27T00:34:43Z"
},
{
"id": "task-009",
"title": "Phase O:搜索语义 hardening 与资源类型 fixture 补齐",
"status": "completed",
"priority": "P1",
"depends_on": [
"task-008"
],
"attempts": 1,
"max_attempts": 3,
"started_at_commit": "6d89f5ca",
"validation": {
"command": "cd /mnt/Data1T/mnote/wolai-frontend && pnpm vitest run src/lib/tree-stream/tree-delta.test.ts",
"timeout_seconds": 1800
},
"on_failure": {
"cleanup": null
},
"error_log": [],
"checkpoints": [
{
"step": 1,
"total": 1,
"description": "已补 file_tree 搜索 hardening 前端契约:projection-client 固定 maxResults=80、祖先补全/排序/异步可见性元数据,tree-delta fixture 覆盖 index、asset-folder、mindmap child、book、pdf;目标验证与 task112 smoke 通过。",
"timestamp": "2026-04-27T00:41:58Z"
}
],
"completed_at": "2026-04-27T00:41:58Z"
}
],
"session_count": 3,
"last_session": "2026-04-27T00:41:58Z"
}