2.2 KiB
2.2 KiB
完了。
実装内容:
- Browser-managed working directory API を scoped Workspace API に追加した。
POST /api/w/<workspace-id>/working-directoriesGET /api/w/<workspace-id>/working-directories- detail / cleanup endpoint
- Browser create payload は configured
repository_id/ selector / policy を使い、raw host path / raw internalWorkingDirectoryRequest/ internal runtime path を受け取らないようにした。 - Browser response は allocation id、repository id、selector/commit evidence、status、cleanup policy など safe summary のみを返すようにした。
- Worker launch UI で working directory を create/select できるようにした。
- Worker spawn は selected allocation id + optional
relative_cwdを使い、Runtime materialized workspace に接続するようにした。 relative_cwdは materialized root 相対として検証し、absolute path、..escape、symlink escape、nonexistent / non-directory を拒否するようにした。- invalid
relative_cwdは Browser-facing API で typedworking_directory_relative_cwd_*diagnostic として返るようにした。 - Worker list/detail に working directory safe summary を含めた。
- cleanup は allocation root に bounded され、typed/sanitized diagnostic を返すようにした。
- Focused backend/runtime/web tests を追加した。
主な commit / merge:
- implementation:
684b19e8 feat: add browser working directories - review fix:
9adb0fae fix: preserve working directory cwd diagnostics - merge into orchestration:
b52986e5 merge: browser working directories
Review:
- 初回 external review は request_changes。
- follow-up external review は approve。merge-blocking issue なし。
Final validation in Orchestrator worktree:
git diff --check: passcd web/workspace && deno task check: pass(0 errors / 0 warnings)cd web/workspace && deno task test: pass(17 tests)cargo test -p yoi-workspace-server: pass(67 lib tests + 2 main tests)cargo test -p worker-runtime --features ws-server,fs-store: pass(36 lib tests + 5 main tests + doc tests)cargo check -p yoi: passyoi ticket doctor: oknix build .#yoi --no-link: pass