Files
mnote/harness-tasks.json
T

275 lines
11 KiB
JSON
Raw Normal View History

2026-04-14 13:22:29 +08:00
{
"version": 2,
"created": "2026-04-26T23:16:13Z",
2026-04-14 13:22:29 +08:00
"session_config": {
"concurrency_mode": "exclusive",
"max_tasks_per_session": 9,
2026-04-21 06:26:35 +08:00
"max_sessions": 80
2026-04-14 13:22:29 +08:00
},
"tasks": [
{
"id": "task-001",
"title": "Phase K-1:定义 tree shell Rust runtime artifact 边界",
2026-04-15 20:01:12 +08:00
"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"
2026-04-14 13:22:29 +08:00
}