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:
1 parent
2ddaf7bfa6
commit
2e3c2098fd
6 files changed
+14
-8
No files matched your search
@@ -49,7 +49,7 @@
|
||||
| S6 | AT24(管理标签被移除、qB 任务消失)在服务端没有测试。代码在 `downloads.ts:359-383` 里,只有 domain 层的 `download-state` 单测覆盖 | `__tests__/vertical.test.ts` | 补两个断言:去掉标签后 `managed=false`、历史保留、之后不再暂停也不再清理;任务消失后 `removed`,并且库文件还在 **已修(ceff9cf):新增 E8 `e8-tag-removal`:去标签后 managed=false、完成不入库、清理不触碰,任务消失 → removed 且资产/位置不变、不重下;以 mock qB 调用日志断言** |
|
||||
| S7 | 前端 Agent 页在生产构建里也能用 `?mock=1` 打开 mock 模式(sessionStorage 会记住),可能把演示数据当成真实运行展示,与 AT78 冲突 | `apps/web/app/api/agent.ts:37-48` | 只在 `import.meta.env.DEV` 或设置了 `VITE_AGENT_MOCK` 时启用 **已修(f48e1aa):只在 DEV 构建或后端 `pi.provider = "fake"` 时生效,生产构建忽略并清掉记住的开关(`app/api/agent-mock.test.ts`)** |
|
||||
| S8 | 引擎面板只有 cancel,没有 retry/rerun;§3.1-10 要求 "cancel/retry 操作"(02 backlog 也列了这一项) | `apps/web/app/routes/console/engine*.tsx`,`modules/auth-settings/engine-routes.ts` | 加 `POST /engine/runs/{id}/rerun`,用我们自己的 enqueue、带新幂等键实现,并写审计 **已修(ceff9cf):`POST /engine/runs/{id}/retry`(admin,幂等键 `retry:<id>:<序号>`,审计),run 详情页"重跑"按钮;测试 `test/auth-settings/engine-retry.test.ts`** |
|
||||
| S9 | 账户 TOTP 在控制台没有入口(只有登录页的第二步),02 backlog 里是应修项 | `apps/web/app/routes/console/layout.tsx` | 账户弹层接上 `GET/POST /auth/totp` |
|
||||
| S9 | 账户 TOTP 在控制台没有入口(只有登录页的第二步),02 backlog 里是应修项 | `apps/web/app/routes/console/layout.tsx` | 账户弹层接上 `GET/POST /auth/totp` **已修(W6-B,见 07 S-3):账户弹层"二次验证"入口,生成密钥(显示 base32 密钥与 otpauth 链接,无二维码)→ 验证码确认开启;已开启时凭当前密码 + 验证码关闭** |
|
||||
| S10 | API 注册表把 `/auth/setup|login|session|logout` 标成 `read`,但实际上前三个免鉴权;`/auth/password`、`/auth/totp` 标成 `admin`,实际要求 admin 会话。按注册表生成的 scope 文档会误导外部集成方 | `packages/contracts/src/api.ts` | EndpointDef 增加 `auth: "public" | "session" | scope`,并加测试断言它与 `PUBLIC_AUTH_PATHS` 一致 **已修(f48e1aa):`EndpointDef.auth` 为 `public`/`session`,`api-registry.test` 断言与 `PUBLIC_AUTH_PATHS` 一致、session 端点拒绝 Bearer** |
|
||||
| S11 | 文档与实际不一致:任务书 §2、§4 还写着 `pnpm ci`;deploy.md 的验证记录写"21 个迁移",现在是 22 个(0017 号空缺);ci 耗时写"约 75 秒",实测约 135 秒;testkit README 没提 emby/browser mock;adapters 和 web 的 README 各只有 3 行 | `docs/plan/00-first-version-plan.md`,`docs/runbook/deploy.md:128`,`packages/testkit/README.md`,`packages/adapters/README.md` | 统一更新;adapters README 列出 8 个子模块的入口,并链接各子目录的 README **已修(f48e1aa):任务书 pnpm→deno task、ci 耗时、deploy.md 迁移数、testkit/adapters/web README;adapters 实际 7 个子模块** |
|
||||
|
||||
|
||||
@@ -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、停止向该根派发"的根级熔断,目前靠根检查超时 → 整轮重试。
|
||||
|
||||
### 基准记录
|
||||
|
||||
Reference in new issue
Block a user