7.6 KiB
| title | state | created_at | updated_at | assignee | queued_by | queued_at |
|---|---|---|---|---|---|---|
| Workspace BrowserにSettings/Admin画面のshellとnavigationを追加する | closed | 2026-07-02T13:59:17Z | 2026-07-02T14:39:02Z | null | workspace-panel | 2026-07-02T14:24:54Z |
背景
Workspace Browser には Worker / Runtime / Repository / Ticket などの作業 surface はあるが、Backend 設定や接続状態を扱う Settings/Admin surface はまだ無い。
今後 Runtime connections、Backend config、data store status、workspace identity などを UI から確認・編集する必要がある。これは普通に管理画面として設計する。ただし現状の Workspace Backend には user / permission / multi-user authorization が無いため、存在しない権限モデルを UI 上で fake しない。
Runtime connection 管理 UI を直接作り始めると、Settings/Admin の entry point / route / navigation / diagnostic / restart-required 表示などの共通設計と、Runtime connection config の永続化が混ざる。この Ticket では先に Settings/Admin shell と navigation だけを作り、Runtime Connections は後続 Ticket で実装する。
目的
- Workspace Browser に Settings/Admin surface を追加する。
- 将来の admin UI の受け皿になる route / layout / navigation を用意する。
- 現時点で存在しない user / permission / multi-user authorization を UI に出さない。
- Runtime Connections などの後続 Settings section を追加できるようにする。
- 既存の Worker Console / Sidebar UX を壊さない。
- mutation や Runtime connection 永続化は後続 Ticket に委譲する。
位置づけ
Settings/Admin は Workspace Backend の管理画面である。ただし v0 では権限管理を持たない。
明記する制約:
- user account は無い。
- role / permission model は無い。
- multi-user authorization は無い。
- したがって「管理者だけが操作できる」などの UI 文言や fake role を作らない。
- 現時点の操作境界は「この Backend にアクセスできること」だけである。
将来の受け皿:
- Runtime connections。
- Backend config / effective config view。
- data root / store status。
- workspace identity view。
- restart required / sanitized diagnostics。
- 将来の user / permission 管理。ただしこの Ticket では実装しない。
UI entry point
Workspace Browser の sidebar に Settings/Admin entry point を追加する。
候補:
...
SETTINGS
または bottom utility として:
⚙ Settings
v0 では既存の Worker / Repository / Ticket navigation を邪魔しない位置に置く。Worker Console が主導線であることを崩さない。
Route 設計
SvelteKit route として Settings/Admin shell を追加する。
候補:
/settings
/settings/runtime-connections
/settings/backend-config
v0 では /settings が overview / placeholder を表示し、section navigation から placeholder section に遷移できるところまででよい。
Settings section の初期候補:
- Runtime Connections
- 後続 Ticket
00001KWHHRTM9で実装する。 - v0 shell では placeholder / empty state を表示する。
- 後続 Ticket
- Backend Config
.yoi/workspace-backend.local.toml/ packaged default / effective config の表示・diff の受け皿。- v0 shell では read-only placeholder でよい。
- Workspace Identity
- workspace id / display name / initialized state などの read-only 表示の受け皿。
権限モデルについての表示
Settings/Admin overview には、現在 user / permission model が無いことを簡潔に示す。
例:
This Workspace Backend currently has no user or permission model. Anyone with access to this backend can change these settings.
日本語 UI なら:
現在、この Workspace Backend にはユーザー権限モデルがありません。この Backend にアクセスできる人は設定を変更できます。
これは「管理画面ではない」という意味ではない。無い権限モデルをあるように見せないための注意書きである。
Common UI patterns
Settings/Admin shell では後続 section が使う共通 pattern を用意する。
Sanitized diagnostic
- raw path / secret / token / socket path / runtime store path を出さない方針を示す。
- v0 は reusable component でなくても、Settings shell 内の表示 pattern として定義する。
Restart required badge
Runtime connection や backend config の変更は Backend restart が必要になる場合がある。
v0 shell では badge / callout の見た目だけ用意してよい。
Restart required
Save / dirty state
この Ticket では mutation を実装しないため、dirty tracking の本実装は不要。ただし後続 section が使う前提として、save/cancel area を置ける layout にする。
Backend API との関係
この Ticket では Settings mutation API は実装しない。
後続 Ticket では API path を次のどちらかに寄せることを検討する。
GET /api/settings
GET /api/settings/runtime-connections
または Workspace 配下であることを強調するなら:
GET /api/workspace/settings
GET /api/workspace/settings/runtime-connections
v0 shell は既存 /api/workspace projection などで表示可能な範囲に留めてよい。新 API を追加する場合も read-only summary に限定する。
依存関係
この Ticket は Runtime connection 管理 Ticket 00001KWHHRTM9 の前提とする。Runtime connection の add/delete/test/config persistence はこの Ticket では実装しない。
実装要件
- Workspace Browser に Settings/Admin entry point を追加する。
/settingsroute を追加する。- Settings/Admin shell layout を追加する。
- Section navigation を追加する。
- Runtime Connections placeholder section を追加する。
- Backend Config placeholder section を追加する。
- Workspace Identity placeholder / read-only section を追加する。
- 現時点で user / permission model が無いことを UI に明記する。
- user / role / permission の fake UI を作らない。
- Restart required / sanitized diagnostic の表示 pattern を用意する。
- 既存 Worker Console / Sidebar navigation と衝突しない。
受け入れ条件
- Sidebar または bottom utility から Settings/Admin に移動できる。
/settingsが表示できる。- Settings/Admin shell に「現時点で user / permission model が無い」旨の注意書きがある。
- Settings section navigation がある。
- Runtime Connections placeholder がある。
- Backend Config placeholder がある。
- Workspace Identity placeholder または read-only summary がある。
- UI 文言が fake user / role / permission model を示唆しない。
- raw path / secret / token / socket path / runtime store path を placeholder や diagnostic に表示しない。
- 既存 Worker Console / Runtime Console / Sidebar の主導線が壊れていない。
- Focused tests が Settings route rendering、navigation、permission-model disclaimer、placeholder sections を確認する。
cd web/workspace && deno task testが通る。cd web/workspace && deno task checkが通る。git diff --checkが通る。
対象外
- Runtime connection add/delete/test 実装。
.yoi/workspace-backend.local.tomlの read-modify-write API。- Backend config editor。
- secret store UI。
- user / permission UI。
- Runtime live register / unregister。
- Manual Coding Worker 作成 form。
- Nix packaging に関わる変更。