docs: S-9 sync READMEs and porting notes with W5 code

- contracts README lists files.ts / auth.ts / browser.ts / redact.ts and auth:"session"
- adapters README fs row: FsProxy and the ./fsworker export
- server README: file-manager module, worker:agent and internal fsworker roles
- moviepilot-rust-transfer §7: compiled-binary fsworker and trash_item done (W5-E)
- 04 S9 row marked fixed (W6-B TOTP entry)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-28 00:50:29 +08:00
1 parent 2ddaf7bfa6
commit 2e3c2098fd
6 files changed
+14 -8

No files matched your search

+3 -3
View File
@@ -164,9 +164,9 @@ MP 做法中明确**不照抄**的:删源失败仍报成功;move 遇 EXDEV 静
遗留:
- **编译二进制**(`deno compile`)里 `Deno.execPath()` 不是 deno CLI,`FS_PROXY_MODE=auto` 回退 in-process 看门狗(能按时报 TIMEOUT、不阻塞任务,但卡死的系统调用线程无法回收)。要在镜像里也用子进程:`main.ts` 加 `--role fsworker` 调 `fsWorkerMain()`,compile 权限放开对自身的 `--allow-run`,再以 `workerCommand` 构造 FsProxy。
- 规划侧(`planImport` 的源/目标 stat 与同尺寸 sha256)、`reconcile.ts`、文件管理(W5-A)仍直接调进程内 fs,未走 fsproxy。
- 替换进 `.umt-trash` 的旧文件未登记 `trash_item`(W5-A 的回收站表),到期清理需 W5-A 接上。
- ~~**编译二进制**里回退 in-process 看门狗~~ **已做(W5-E,3641ab9)**:`main.ts` 在加载其余模块前分派 `--role fsworker`,compile 放开 `--allow-run=/app/umt-server`,FsProxy 在编译二进制里默认 `<execPath> --role fsworker`(`stats().workerKind = "self"`),容器演练见 `docs/runbook/deploy.md`。二进制不在 `/app/umt-server` 时仍回退 in-process。
- 规划侧(`planImport` 的源/目标 stat 与同尺寸 sha256)、`reconcile.ts`、文件管理(W5-A)仍直接调进程内 fs,未走 fsproxy(文件管理的 move/copy/organize 执行与回收站跨卷复制已经走 fsproxy,见 W5-A2 / W6-B)。
- ~~替换进 `.umt-trash` 的旧文件未登记 `trash_item`~~ **已做(W5-E)**:进 `<root>/.umt-trash/<day>/<uuid>/` 并登记 `trash_item`,到期由 `purgeTrash` 清理。
- 根挂死后没有"标 suspect、停止向该根派发"的根级熔断,目前靠根检查超时 → 整轮重试。
### 基准记录