yoi/.yoi/tickets/00001KWWE8E04/resolution.md

32 lines
1.9 KiB
Markdown
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.

完了。
実装内容:
- Workspace Browser の canonical UI routes を `/w/<workspace-id>/...` に移行した。
- Browser-facing Workspace API に `/api/w/<workspace-id>/...` scoped variants を追加した。
- Backend current immutable `workspace_id` と path `workspace-id` を照合し、mismatch は typed sanitized `workspace_id_mismatch` diagnostic / 404 として fail closed するようにした。
- Frontend の workspace-scoped data calls は `/api/w/<workspace-id>/...` helper 経由に変更した。
- Sidebar / settings / repository / objectives / worker console links は workspace id を含む scoped links を使うようにした。
- Runtime `/v1/...` API surface は変更しなかった。
- Unscoped browser routes は `/api/workspace` bootstrap から scoped `/w/<workspace-id>/...` へ redirect する thin shim とし、通常の unscoped data route / duplicated co-canonical page surface を廃止した。
- Backend SPA fallback でも unscoped Browser routes を scoped route に redirect するようにした。
- Focused backend/web tests を追加/更新した。
主な commit / merge:
- implementation: `f6ad9cfc feat: scope workspace routes by id`
- review fix: `71340b89 fix: redirect unscoped workspace routes`
- merge into orchestration: `13e756e7 merge: workspace id route scoping`
Review:
- 初回 external review は request_changes。
- follow-up external review は approve。merge-blocking issue なし。
Final validation in Orchestrator worktree:
- `git diff --check`: pass
- `cd web/workspace && deno task check`: pass0 errors / 0 warnings
- `cd web/workspace && deno task test`: pass17 tests
- `cargo test -p yoi-workspace-server`: pass65 lib tests + 2 main tests
- `cargo check -p yoi`: pass
- `yoi ticket doctor`: ok
未実行:
- `nix build .#yoi --no-link` は Cargo.lock / dependency / resource packaging / Nix 変更ではないため未実行。