ticket: close workspace id route scoping
This commit is contained in:
parent
13e756e74f
commit
1d88b333a9
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'Scope Workspace Browser routes and API by workspace id'
|
title: 'Scope Workspace Browser routes and API by workspace id'
|
||||||
state: 'inprogress'
|
state: 'closed'
|
||||||
created_at: '2026-07-06T19:25:08Z'
|
created_at: '2026-07-06T19:25:08Z'
|
||||||
updated_at: '2026-07-06T20:52:40Z'
|
updated_at: '2026-07-06T20:53:44Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-07-06T19:53:14Z'
|
queued_at: '2026-07-06T19:53:14Z'
|
||||||
|
|
|
||||||
32
.yoi/tickets/00001KWWE8E04/resolution.md
Normal file
32
.yoi/tickets/00001KWWE8E04/resolution.md
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
完了。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- 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`: pass(0 errors / 0 warnings)
|
||||||
|
- `cd web/workspace && deno task test`: pass(17 tests)
|
||||||
|
- `cargo test -p yoi-workspace-server`: pass(65 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 変更ではないため未実行。
|
||||||
|
|
@ -269,3 +269,76 @@ Validation note:
|
||||||
No merge-blocking issues found.
|
No merge-blocking issues found.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: orchestrator at: 2026-07-06T20:53:31Z from: inprogress to: done reason: merged_validated_review_approved field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Merge/validation acceptance:
|
||||||
|
|
||||||
|
- Follow-up external review approved the implementation after blocker fix。
|
||||||
|
- Implementation branch `work/00001KWWE8E04-workspace-id-routes` was merged into the orchestration branch with merge commit `13e756e7 merge: workspace id route scoping`。
|
||||||
|
- Final validation in Orchestrator worktree passed:
|
||||||
|
- `git diff --check`: pass
|
||||||
|
- `cd 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(65 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 変更ではないため未実行。
|
||||||
|
|
||||||
|
Implementation commits:
|
||||||
|
- `f6ad9cfc feat: scope workspace routes by id`
|
||||||
|
- `71340b89 fix: redirect unscoped workspace routes`
|
||||||
|
|
||||||
|
No merge-blocking issues remain.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: hare at: 2026-07-06T20:53:44Z from: done to: closed reason: closed field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket を closed にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-07-06T20:53:44Z status: closed -->
|
||||||
|
|
||||||
|
## 完了
|
||||||
|
|
||||||
|
完了。
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- 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`: pass(0 errors / 0 warnings)
|
||||||
|
- `cd web/workspace && deno task test`: pass(17 tests)
|
||||||
|
- `cargo test -p yoi-workspace-server`: pass(65 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 変更ではないため未実行。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user