From 03c3218dc7377b74f91e63aa05811d785c03ae06 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 9 Jun 2026 09:20:08 +0900 Subject: [PATCH] ticket: record additional queued updates --- .../item.md | 2 +- .../thread.md | 44 ++++++++++++++ .../item.md | 4 +- .../thread.md | 57 +++++++++++++++++++ .../item.md | 4 +- .../thread.md | 53 +++++++++++++++++ 6 files changed, 159 insertions(+), 5 deletions(-) diff --git a/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/item.md b/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/item.md index f5deee13..2a99dc73 100644 --- a/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/item.md +++ b/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/item.md @@ -8,7 +8,7 @@ priority: 'P1' labels: ['ticket', 'schema', 'identity', 'migration', 'orchestrator'] workflow_state: 'planning' created_at: '2026-06-08T11:09:40Z' -updated_at: '2026-06-08T11:15:09Z' +updated_at: '2026-06-09T00:16:54Z' assignee: null --- diff --git a/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/thread.md b/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/thread.md index 374e757e..f50c2ed6 100644 --- a/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/thread.md +++ b/.yoi/tickets/open/20260608-110940-simplify-ticket-identity-fields/thread.md @@ -68,3 +68,47 @@ updated_at: ... Additional fields should justify a concrete behavior. Search/display hints without management authority should be removed or moved to separately designed features. --- + + + +## Plan + +## Intake assessment: requirements sync needed + +この Ticket は既存 identity simplification に加えて、`status` / `workflow_state` / `kind` / `labels` を含む core Ticket frontmatter simplification へ scope が拡張されている。方向性は明確だが、実装前に schema/API/UX と移行方針として固定すべき判断が残っているため、現時点では `workflow_state: planning` のまま requirements sync が必要。 + +### 既に決まっていること + +- canonical Ticket identity は title-derived slug words を含めない timestamp/counter primary key へ寄せる。 +- `slug` は required/current frontmatter および canonical lookup key から外す。 +- agents / Orchestrator は ID/title だけから意味を推測せず、routing/実装前に `TicketShow` の body/thread/artifacts を読む。 +- core frontmatter simplification は identity だけでなく lifecycle/kind/labels も対象に含める。 +- `kind` は required freeform field として残さない方向。 +- `labels` は unmanaged taxonomy として core required/current schema から外す方向。 + +### 実装前に固定すべき open questions + +1. lifecycle field の最終名を `state` に変更するか、既存名 `workflow_state` を保持して single lifecycle field にするか。 +2. `done` と `closed` を distinct lifecycle states として残すか、close/resolution の表現をどう統合するか。 +3. `pending` bucket/status を完全に廃止するか、`deferred` / `parked` などの lifecycle state として置き換えるか。 +4. canonical ID を frontmatter に `id` として保持するか、directory name から derive するか。 +5. legacy slug/path lookup を migration-only としてどこまで読むか。unreleased local data として一括 migration し、current schema では permanent alias を作らない方針でよいか。 +6. `kind` / `labels` removal をこの Ticket の実装 scope に含めて同時 migration するか、identity/lifecycle の破壊的変更と分けるか。 + +### Risk flags / reviewer focus + +- `ticket-schema` +- `storage-migration` +- `workflow-state` +- `panel-actions` +- `orchestrator-routing` +- `backward-compatibility` +- `typed-tool-api` + +Reviewer は diff だけでなく、CLI / typed Ticket tools / Panel / Orchestrator routing / local role-session claims / future relation metadata が、slug や two-axis state を authority として残していないことを確認する必要がある。 + +### 次の Intake action + +上記 open questions に user/maintainer decision が入れば、Ticket を `implementation_ready` として `ready` にできる。未回答のまま進める場合は、先に design/spike として routing し、実装 Ticket とは分けるのが安全。 + +--- diff --git a/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/item.md b/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/item.md index 9c5d40fe..07efbd4d 100644 --- a/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/item.md +++ b/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/item.md @@ -6,9 +6,9 @@ status: 'open' kind: 'task' priority: 'P2' labels: ['objective', 'ticket', 'planning', 'workflow', 'design'] -workflow_state: 'planning' +workflow_state: 'ready' created_at: '2026-06-08T12:54:30Z' -updated_at: '2026-06-08T12:54:30Z' +updated_at: '2026-06-09T00:17:13Z' assignee: null --- diff --git a/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/thread.md b/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/thread.md index f43c6e6e..9a961e6f 100644 --- a/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/thread.md +++ b/.yoi/tickets/open/20260608-125430-objective-records-for-medium-term-goals/thread.md @@ -5,3 +5,60 @@ LocalTicketBackend によって作成されました。 --- + + + +## Plan + +## Intake refinement + +既存 Ticket は `Objective` record の目的・背景・要件・受け入れ条件をすでに含んでおり、新規 Ticket 作成ではなくこの Ticket の refinement で足りる。`objective` label の重複 Ticket は見つからず、関連する planning Ticket として `typed-ticket-relation-metadata` と `deprecate-umbrella-tickets` がある。 + +### Binding decisions / invariants + +- `Objective` は Ticket / OrchestrationPlan / Pod session claim と別の first-class project record として扱う。 +- Objective は medium-term goal、motivation、strategy / design direction、success criteria / exit conditions、decision context、linked Tickets を保持するための軽量 record であり、実装可能 work item である Ticket を置き換えない。 +- Objective と Ticket の link は dependency / blocking relation ではない。Ticket が Objective に属していても、その Objective 内の他 Ticket すべてに依存することを意味しない。 +- Objective context は Intake / Planning / Orchestrator の判断材料になるが、実装判断の authority は引き続き各 Ticket body/thread と明示的な Ticket relation / OrchestrationPlan record にある。 +- 初期設計は Markdown-oriented かつ local file backend 前提に留め、roadmap scheduling、milestones、OKR、dependency graph solving、全 Ticket への Objective 必須化は範囲外にする。 +- `Project` / `Initiative` ではなく `Objective` という用語を使う。 + +### Implementation latitude + +- 具体的な record schema、`.yoi/` 配下の path、frontmatter fields、CLI/API 名、Panel 表示の段階分けは実装時の調査で提案してよい。 +- 初回 scope は設計文書と最小実装方針の提示で足りる。必要であれば小さな local-file reader/writer/API skeleton を提案してよいが、full roadmap system に広げない。 +- Ticket 側に Objective reference を置くか、Objective 側に linked Tickets を列挙するか、または両方をどう扱うかは、validation と git-trackable record と運用の単純さを基準に設計してよい。 +- `deprecate-umbrella-tickets` と `typed-ticket-relation-metadata` の内容は関連 context として読むべきだが、それらの実装をこの Ticket に取り込まない。 + +### Escalation conditions + +- Objective が dependency/blocking relation、OrchestrationPlan runtime plan、または local Pod/session/worktree claim を兼ね始める設計になりそうな場合は Orchestrator/人間判断へ戻す。 +- Objective を全 Ticket に必須化する、または scheduling / roadmap / OKR system に拡張する必要が出た場合は scope creep として戻す。 +- public CLI/API、storage migration、backward compatibility、Panel UX の binding decision が複数案で割れる場合は、設計案と trade-off を thread に記録して判断を戻す。 +- Ticket body/thread を読まずに Objective context だけで実装判断できるような導線になりそうな場合は、Ticket authority boundary に反するため戻す。 + +### Readiness + +- readiness: implementation_ready +- risk_flags: [project-record, ticket-model, workflow, persistence, cli-api, panel-ux] +- blocking open questions: none + +Validation は既存 acceptance criteria の通り `target/debug/yoi ticket doctor` と `git diff --check` を含める。runtime resource / prompt / packaging / code に触れる実装になった場合は repository guidance に従って focused tests と `nix build .#yoi` も実施する。 + +--- + + + +## Intake summary + +既存 Ticket を新規作成せず refinement した。`Objective` は Ticket / OrchestrationPlan / Pod/session claim と別の lightweight project record とし、medium-term goal・motivation・strategy/design direction・success criteria/exit conditions・decision context・linked Tickets を保持する。Ticket を置き換えず、Objective link は dependency/blocking relation ではない。初期 scope は Markdown/local-file 前提の設計と最小実装方針に限定し、roadmap scheduling、milestones、OKR、dependency graph solving、全 Ticket への Objective 必須化は範囲外。blocking open questions はなく、Orchestrator が implementation/design work として routing できる。 + +--- + + + +## State changed + +Intake refinement により目的・受け入れ条件・binding decisions / invariants・implementation latitude・escalation conditions が揃ったため、workflow_state を ready にする。 + +--- diff --git a/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/item.md b/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/item.md index e091b47c..4167ecd7 100644 --- a/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/item.md +++ b/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/item.md @@ -6,9 +6,9 @@ status: 'open' kind: 'task' priority: 'P2' labels: ['ticket', 'workflow', 'documentation', 'planning'] -workflow_state: 'planning' +workflow_state: 'ready' created_at: '2026-06-08T13:22:30Z' -updated_at: '2026-06-08T13:22:30Z' +updated_at: '2026-06-09T00:16:38Z' assignee: null --- diff --git a/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/thread.md b/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/thread.md index 0559bdb0..af67e1e8 100644 --- a/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/thread.md +++ b/.yoi/tickets/open/20260608-132230-deprecate-umbrella-tickets/thread.md @@ -5,3 +5,56 @@ LocalTicketBackend によって作成されました。 --- + + + +## Plan + +## Intake refinement + +既存 Ticket は新規 umbrella Ticket 廃止の方針・背景・要件・受け入れ条件・非目標をすでに含んでおり、新規 Ticket 作成ではなくこの Ticket の refinement で足りる。 + +### Binding decisions / invariants + +- 新規の長期 umbrella Ticket / progress container は作らない方針として文書化する。 +- Ticket は単独で実装・レビュー・検証・完了判断できる concrete work item として扱う。 +- 広い依頼の分割時は、進捗コンテナとしての umbrella を残すのではなく、concrete Tickets、Objective、typed Ticket relations、thread/decision 記録に責務を分ける。 +- 既存 umbrella の退役 close は「関連作業がすべて完了した」ではなく「umbrella container の役割を退役した」ことを表す。 +- `typed-ticket-relation-metadata` と `objective-records-for-medium-term-goals` の設計実装はこの Ticket の範囲外に残す。 + +### Implementation latitude + +- 具体的な変更箇所は実装時の調査で選んでよいが、少なくとも開発/workflow docs、Intake/Planning guidance、Orchestrator guidance に umbrella Ticket を作らない・退役する方針が反映されている必要がある。 +- 既存 umbrella の扱いは、代表例として `workspace-panel-orchestrator-queue-automation` に migration/close recommendation を残すか、明示的な follow-up に接続すればよい。 + +### Escalation conditions + +- Objective または typed relation の current schema をこの作業内で設計・実装する必要が出た場合は scope creep として Orchestrator/人間判断へ戻す。 +- 既存 Ticket の大量移行や historical thread rewrite が必要に見える場合は、この Ticket の非目標に反するため判断を戻す。 +- umbrella 廃止方針が initial planning Ticket まで禁止する表現になりそうな場合は、受け入れ条件の「deprecated pattern is the long-lived umbrella progress container」を優先して調整する。 + +### Readiness + +- readiness: implementation_ready +- risk_flags: [ticket, workflow, documentation, planning, orchestration] +- blocking open questions: none + +Validation は既存 acceptance criteria の通り、`target/debug/yoi ticket doctor` と `git diff --check` を含める。実装が runtime resource / prompt / package source に触れる場合は通常の repository guidance に従って `nix build .#yoi` も検討する。 + +--- + + + +## Intake summary + +既存 Ticket を refinement し、新規 umbrella Ticket 作成ではなくこの Ticket を concrete documentation/workflow cleanup として進める方針を確認した。新規の長期 umbrella/progress-container Ticket を非推奨化し、広い依頼は concrete Tickets、Objective、typed Ticket relations、thread/decision 記録へ責務分離する。Objective/typed relation の設計実装、大量 historical migration、thread rewrite は範囲外。blocking open question はなく、implementation_ready として Orchestrator が routing 可能。 + +--- + + + +## State changed + +Intake refinement により、意図・受け入れ条件・binding decisions / invariants・implementation latitude・escalation conditions が揃ったため ready に遷移します。 + +---