From 41133e0cd5c7b6668ab72a1c7fdbd8723a634595 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 9 Jun 2026 20:30:37 +0900 Subject: [PATCH] ticket: route feature flags and attention cleanup --- .yoi/tickets/20260609-073047-001/item.md | 2 +- .yoi/tickets/20260609-073047-001/thread.md | 19 +++++++++ .yoi/tickets/20260609-082209-001/item.md | 4 +- .yoi/tickets/20260609-082209-001/thread.md | 45 +++++++++++++++++++++ .yoi/tickets/20260609-095518-001/item.md | 4 +- .yoi/tickets/20260609-095518-001/thread.md | 47 ++++++++++++++++++++++ 6 files changed, 116 insertions(+), 5 deletions(-) diff --git a/.yoi/tickets/20260609-073047-001/item.md b/.yoi/tickets/20260609-073047-001/item.md index 3a18cfb5..defcfada 100644 --- a/.yoi/tickets/20260609-073047-001/item.md +++ b/.yoi/tickets/20260609-073047-001/item.md @@ -2,7 +2,7 @@ title: 'Ticket と Objective の ID を base32 timestamp 形式に統一する' state: 'queued' created_at: '2026-06-09T07:30:47Z' -updated_at: '2026-06-09T10:35:08Z' +updated_at: '2026-06-09T11:30:25Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:31:17Z' diff --git a/.yoi/tickets/20260609-073047-001/thread.md b/.yoi/tickets/20260609-073047-001/thread.md index e06a430d..3e575599 100644 --- a/.yoi/tickets/20260609-073047-001/thread.md +++ b/.yoi/tickets/20260609-073047-001/thread.md @@ -93,3 +93,22 @@ State decision: - Re-read when active worktrees are merged/closed or the workspace is otherwise quiescent enough for a record migration. --- + + + +## Decision + +Routing decision update: still_waiting_record_migration_window + +This Ticket remains queued for now despite the increased parallelism preference. + +Reason: +- This is a broad Ticket/Objective ID migration that will touch project record paths and many references. +- I am starting two smaller independent workstreams now (`20260609-082209-001` and `20260609-095518-001`). +- Running another record identity migration in parallel with active Ticket schema/profile work would create high migration/merge risk, not a small mechanical conflict. + +State decision: +- Leave this Ticket queued. +- Re-read and route after current active schema/profile work lands or if the workspace is otherwise quiescent enough for a record migration. + +--- diff --git a/.yoi/tickets/20260609-082209-001/item.md b/.yoi/tickets/20260609-082209-001/item.md index 6fa0bf06..7e887968 100644 --- a/.yoi/tickets/20260609-082209-001/item.md +++ b/.yoi/tickets/20260609-082209-001/item.md @@ -1,8 +1,8 @@ --- title: 'Profile feature flagsでtool surfaceを制御する' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T08:22:09Z' -updated_at: '2026-06-09T10:35:08Z' +updated_at: '2026-06-09T11:30:25Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:31:11Z' diff --git a/.yoi/tickets/20260609-082209-001/thread.md b/.yoi/tickets/20260609-082209-001/thread.md index 75c39bf5..c0a0e577 100644 --- a/.yoi/tickets/20260609-082209-001/thread.md +++ b/.yoi/tickets/20260609-082209-001/thread.md @@ -49,3 +49,48 @@ State decision: - Re-read after ToolExecutionContext lands and active tool-surface branches settle. --- + + + +## State changed + +Accepted queued implementation after prior active branches landed and workspace is clean. This Ticket changes Profile/feature/tool-surface gating and no longer overlaps with an active ToolExecutionContext branch. It can proceed in parallel with Ticket schema field cleanup because expected overlap is limited to normal tool registration/test surfaces and should be manageable. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Reason: +- The earlier blocker (`ToolExecutionContext` active core tool API migration) is resolved. +- This Ticket changes Profile feature flags and tool-surface registration; it is mostly independent from the Ticket schema field cleanup now being accepted in parallel. +- User preference is to parallelize when conflict risk is absent or expected small/manageable. + +IntentPacket: + +Intent: +- Control available tool surfaces through Profile feature flags / configuration so roles can expose only the intended built-in capabilities. + +Binding decisions / invariants: +- Tool surface enablement should be explicit and profile/config-driven, not inferred from role names or broad defaults. +- Keep Profile authoring reusable; avoid runtime-bound data such as concrete Pod names/sockets/session state in reusable profile config. +- Do not weaken host authority, scope, network, Ticket backend, or memory boundaries; feature flags may expose tools only when underlying authority/config allows them. +- Avoid adding compatibility aliases for old ad-hoc behavior unless a concrete current requirement exists. +- Preserve clear failure when a requested feature/tool surface lacks required configuration. +- Keep changes bounded to profile/manifest/tool registration/guidance/tests; do not redesign the plugin system. + +Reviewer focus: +- Verify features gate tool registration without bypassing authority checks. +- Verify default/project role profiles expose intended surfaces and no unintended tools. +- Verify missing/invalid feature config fails clearly. +- Verify docs/prompts/guidance match the new feature flag model. + +Validation: +- Focused profile/manifest/tool registry tests. +- Built-in tool surface/capability tests for affected Task/Ticket/Pod/Memory/Web tools. +- `cargo fmt --check`, `git diff --check`, `cargo run -q -p yoi -- ticket doctor`, `cargo check --workspace`, `nix build .#yoi`. + +--- diff --git a/.yoi/tickets/20260609-095518-001/item.md b/.yoi/tickets/20260609-095518-001/item.md index 273a9509..90c3fc4d 100644 --- a/.yoi/tickets/20260609-095518-001/item.md +++ b/.yoi/tickets/20260609-095518-001/item.md @@ -1,8 +1,8 @@ --- title: 'action_requiredとattention_requiredをTicket schemaから削除する' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T09:55:18Z' -updated_at: '2026-06-09T10:19:34Z' +updated_at: '2026-06-09T11:30:25Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:11:38Z' diff --git a/.yoi/tickets/20260609-095518-001/thread.md b/.yoi/tickets/20260609-095518-001/thread.md index 70bd9cde..8b1f25e8 100644 --- a/.yoi/tickets/20260609-095518-001/thread.md +++ b/.yoi/tickets/20260609-095518-001/thread.md @@ -73,3 +73,50 @@ State decision: - Re-read and route it after either TicketList output slimming or Panel display work lands, depending on which surface remains active. --- + + + +## State changed + +Accepted queued implementation after TicketList and Panel display work landed and workspace is clean. This Ticket removes obsolete action/attention fields from current Ticket schema/tool/API/panel behavior and can proceed in parallel with Profile feature-flag work because expected conflicts are small/manageable. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Reason: +- The earlier blockers are resolved: ToolExecutionContext, TicketList output slimming, and Panel composer/display work have landed. +- This Ticket is a bounded Ticket schema/API/panel cleanup to remove obsolete `action_required` and `attention_required` fields. +- It can run in parallel with Profile feature flags work because expected overlap is small/manageable. + +IntentPacket: + +Intent: +- Remove `action_required` and `attention_required` from current Ticket schema/tool/API/panel behavior, replacing any remaining current behavior with existing state/relation/orchestration-plan concepts where appropriate. + +Binding decisions / invariants: +- New/current Ticket frontmatter must not include `action_required` or `attention_required`. +- Current parser/schema/tool/CLI/panel surfaces must not expose those fields as current metadata. +- Existing local Ticket records must be migrated to remove the fields. +- Do not replace them with another generic vague field. +- Use canonical `state`, Ticket relations, OrchestrationPlan waiting/blocker notes, and thread events for concrete state/context where appropriate. +- Historical thread/resolution prose may remain audit history unless it is a current fixture or maintained guidance. +- Do not change Ticket identity, lifecycle state model, relation metadata semantics, or Objective semantics. +- Do not implement a broad panel UX redesign here. + +Reviewer focus: +- Verify all current frontmatter records are migrated. +- Verify TicketCreate/List/Show/tool schemas and Panel view models no longer carry action/attention fields. +- Verify maintained guidance no longer treats these fields as current authority. +- Verify doctor catches obsolete fields if appropriate. + +Validation: +- Focused Ticket schema/parser/writer/tool tests. +- Focused yoi CLI/list/show tests and panel/view model tests if touched. +- `cargo fmt --check`, `git diff --check`, `cargo run -q -p yoi -- ticket doctor`, `cargo check --workspace`, `nix build .#yoi`. + +---