From 4b1f1e593dbe246c2291fba3253dc8b34b9b3238 Mon Sep 17 00:00:00 2001 From: Hare Date: Mon, 22 Jun 2026 02:31:21 +0900 Subject: [PATCH] ticket: complete repository objective pages --- .yoi/tickets/00001KVNGJPRG/item.md | 4 +- .yoi/tickets/00001KVNGJPRG/resolution.md | 30 +++++++++ .yoi/tickets/00001KVNGJPRG/thread.md | 85 ++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 .yoi/tickets/00001KVNGJPRG/resolution.md diff --git a/.yoi/tickets/00001KVNGJPRG/item.md b/.yoi/tickets/00001KVNGJPRG/item.md index 2b1b2963..f98ec857 100644 --- a/.yoi/tickets/00001KVNGJPRG/item.md +++ b/.yoi/tickets/00001KVNGJPRG/item.md @@ -1,8 +1,8 @@ --- title: 'Workspace web: repository and objective pages' -state: 'inprogress' +state: 'closed' created_at: '2026-06-21T16:35:19Z' -updated_at: '2026-06-21T17:30:09Z' +updated_at: '2026-06-21T17:31:14Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-21T16:40:35Z' diff --git a/.yoi/tickets/00001KVNGJPRG/resolution.md b/.yoi/tickets/00001KVNGJPRG/resolution.md new file mode 100644 index 00000000..fa57085a --- /dev/null +++ b/.yoi/tickets/00001KVNGJPRG/resolution.md @@ -0,0 +1,30 @@ +Workspace web に Repository / Objective pages を追加し、Orchestrator worktree の `orchestration` branch に統合した。 + +主な成果: +- Read-only Repository backend APIs を追加: + - `/api/repositories` + - `/api/repositories/local` + - `/api/repositories/local/log` + - `/api/repositories/local/tickets` +- Current workspace root を local Repository として扱う bounded repository summary を追加。 +- Git repository では bounded branch/head/root/dirty/remote/recent log summary を返す。 +- Non-Git workspace では `git.status = unavailable` と bounded diagnostics に degrade。 +- Git log summary は recent commit hash/subject/author/timestamp に限定し、diff/patch/file content/blame/config は読まない。 +- Remote URL summary は URL-scheme userinfo を redact。 +- Read-only Ticket Kanban を Ticket state ごとに grouping し、workspace-local Ticket fallback diagnostic を含めた。 +- Objective list summaries を filesystem Objective records から追加。 +- Static SPA に hash-navigation Repository / Objectives pages を追加。 +- Sidebar Repository/Objectives links を新 pages に接続。 +- Repository page に summary, Git summary/log, diagnostics, read-only Ticket Kanban を表示。 +- Objective page に title/state/updated_at/summary と detail placeholder links を表示。 +- Ticket / Objective canonical authority remains filesystem read-through records; mutation API / DB canonical migration は追加していない。 + +統合・検証: +- Merge commit: `7ee702b1 merge: repository objective pages` +- Implementation commit: `ceb1ee3b feat: add repository objective pages` +- Reviewer final verdict: approve +- Validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo test -p yoi-workspace-server`, `cargo check -p yoi-workspace-server`, `deno task check`, `deno task build`, `cargo run -p yoi -- ticket doctor`, and `nix build .#yoi --no-link`。 + +範囲外 / follow-up notes: +- Repository CRUD/API, Objective edit/detail mutation, full Git browser/diff/file views, drag/drop Kanban, and write APIs were not implemented。 +- Reviewer noted possible follow-ups: keep `#/objectives` sidebar link visible even on objective empty/error states, and further tighten remote URL sanitization for query-param or SCP-like token forms if needed。 \ No newline at end of file diff --git a/.yoi/tickets/00001KVNGJPRG/thread.md b/.yoi/tickets/00001KVNGJPRG/thread.md index e7540269..c0df1b57 100644 --- a/.yoi/tickets/00001KVNGJPRG/thread.md +++ b/.yoi/tickets/00001KVNGJPRG/thread.md @@ -304,3 +304,88 @@ Worktree status: - Clean tracked/non-ignored state on `impl/00001KVNGJPRG-repository-objective-pages` at `ceb1ee3b`。 --- + + + +## Implementation report + +Reviewer r1 approvalを受けて、実装ブランチを Orchestrator worktree の `orchestration` branch に統合した。 + +統合: +- Merge commit: `7ee702b1 merge: repository objective pages` +- Merged branch: `impl/00001KVNGJPRG-repository-objective-pages` +- Implementation commit: + - `ceb1ee3b feat: add repository objective pages` + +Orchestrator worktree validation: +- `cargo fmt --check`: passed +- `git diff --check HEAD^1..HEAD`: passed +- `cargo test -p yoi-workspace-server`: passed (`8 passed`) +- `cargo check -p yoi-workspace-server`: passed +- `cd web/workspace && rm -rf node_modules .svelte-kit build && deno task check`: passed (`svelte-check found 0 errors and 0 warnings`) +- `cd web/workspace && deno task build`: passed +- `cargo run -p yoi -- ticket doctor`: passed (`doctor: ok`) +- `nix build .#yoi --no-link`: passed + +Validation generated ignored frontend artifacts in Orchestrator worktree: +- `web/workspace/node_modules/` +- `web/workspace/.svelte-kit/` +- `web/workspace/build/` + +These were removed after validation. Final Orchestrator worktree status after validation cleanup is clean on `orchestration` at `7ee702b1`。 + +--- + + + +## State changed + +Reviewer approval、Orchestrator worktree への統合、workspace-server tests/check、Deno check/build、Ticket doctor、Nix build が完了したため `done` に遷移する。 + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Workspace web に Repository / Objective pages を追加し、Orchestrator worktree の `orchestration` branch に統合した。 + +主な成果: +- Read-only Repository backend APIs を追加: + - `/api/repositories` + - `/api/repositories/local` + - `/api/repositories/local/log` + - `/api/repositories/local/tickets` +- Current workspace root を local Repository として扱う bounded repository summary を追加。 +- Git repository では bounded branch/head/root/dirty/remote/recent log summary を返す。 +- Non-Git workspace では `git.status = unavailable` と bounded diagnostics に degrade。 +- Git log summary は recent commit hash/subject/author/timestamp に限定し、diff/patch/file content/blame/config は読まない。 +- Remote URL summary は URL-scheme userinfo を redact。 +- Read-only Ticket Kanban を Ticket state ごとに grouping し、workspace-local Ticket fallback diagnostic を含めた。 +- Objective list summaries を filesystem Objective records から追加。 +- Static SPA に hash-navigation Repository / Objectives pages を追加。 +- Sidebar Repository/Objectives links を新 pages に接続。 +- Repository page に summary, Git summary/log, diagnostics, read-only Ticket Kanban を表示。 +- Objective page に title/state/updated_at/summary と detail placeholder links を表示。 +- Ticket / Objective canonical authority remains filesystem read-through records; mutation API / DB canonical migration は追加していない。 + +統合・検証: +- Merge commit: `7ee702b1 merge: repository objective pages` +- Implementation commit: `ceb1ee3b feat: add repository objective pages` +- Reviewer final verdict: approve +- Validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo test -p yoi-workspace-server`, `cargo check -p yoi-workspace-server`, `deno task check`, `deno task build`, `cargo run -p yoi -- ticket doctor`, and `nix build .#yoi --no-link`。 + +範囲外 / follow-up notes: +- Repository CRUD/API, Objective edit/detail mutation, full Git browser/diff/file views, drag/drop Kanban, and write APIs were not implemented。 +- Reviewer noted possible follow-ups: keep `#/objectives` sidebar link visible even on objective empty/error states, and further tighten remote URL sanitization for query-param or SCP-like token forms if needed。 + +---