diff --git a/.yoi/tickets/20260609-084725-001/item.md b/.yoi/tickets/20260609-084725-001/item.md index d4994951..2904da59 100644 --- a/.yoi/tickets/20260609-084725-001/item.md +++ b/.yoi/tickets/20260609-084725-001/item.md @@ -1,8 +1,8 @@ --- title: 'Improve workspace panel display and composer key handling' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T08:47:25Z' -updated_at: '2026-06-09T10:03:41Z' +updated_at: '2026-06-09T10:19:34Z' assignee: null readiness: 'implementation_ready' risk_flags: ['tui-input', 'ux-consistency'] diff --git a/.yoi/tickets/20260609-084725-001/thread.md b/.yoi/tickets/20260609-084725-001/thread.md index 4c843a19..0aeae441 100644 --- a/.yoi/tickets/20260609-084725-001/thread.md +++ b/.yoi/tickets/20260609-084725-001/thread.md @@ -180,3 +180,52 @@ Next action: - Re-read this Ticket after the ToolExecutionContext API migration lands, or earlier if explicitly prioritized. --- + + + +## State changed + +Accepted queued implementation under the updated parallel-capacity policy. This Ticket is TUI panel/composer UX work and is independent from the active ToolExecutionContext migration except for normal workspace validation. It can run in a separate worktree with separate write scope. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Updated user instruction: prefer parallel work when Tickets are independent or expected conflicts are small/manageable. + +Reason: +- This Ticket is focused on TUI panel display/composer key handling. +- It is independent from the active ToolExecutionContext API migration and the TicketList output work, aside from normal shared validation. +- It can run in a separate worktree with a separate Coder scope. + +IntentPacket: + +Intent: +- Improve Panel display and composer key handling so global composer text entry, selected-row actions, target switching, and focus states are explicit and less ambiguous. + +Binding decisions / invariants: +- Remove `Ctrl+T` from Panel top line/actionbar/help and stop using it for Panel target switching. +- Use `Tab` for Panel target switching, but completion state has priority when active. +- Preserve no bare-letter shortcuts; normal typed letters go to composer text. +- Share or abstract composer editing/key handling rather than adding ad-hoc Panel-only editing behavior. +- Support normal composer editing operations including cursor movement, line start/end, deletion, history, and `Ctrl+Left` / `Ctrl+Right` where terminal events make that possible. +- Make focus/model explicit: selected row, item action focus, or global composer target. +- Global composer text must not imply it applies to a selected Ticket unless such a feature is explicitly added. +- `Esc` backs out of action/list focus toward global composer/no-selection; `Ctrl+C` is the reliable quit key. + +Reviewer focus: +- Verify the UI answers “what will Enter do now?” in selected-row/action/global-composer states. +- Verify target switching/completion `Tab` priority. +- Verify composer key handling is shared/compatible with normal TUI where practical. +- Verify no bare-letter shortcuts are reintroduced. + +Validation: +- Focused TUI/panel key handling/display tests where feasible. +- Manual or test evidence for top/actionbar `Ctrl+T` removal and `Tab` target switch. +- `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-085212-001/item.md b/.yoi/tickets/20260609-085212-001/item.md index cb77b96c..7ed1d364 100644 --- a/.yoi/tickets/20260609-085212-001/item.md +++ b/.yoi/tickets/20260609-085212-001/item.md @@ -1,8 +1,8 @@ --- title: 'TicketListの出力を軽量化する' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T08:52:12Z' -updated_at: '2026-06-09T10:03:41Z' +updated_at: '2026-06-09T10:19:34Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:01:28Z' diff --git a/.yoi/tickets/20260609-085212-001/thread.md b/.yoi/tickets/20260609-085212-001/thread.md index d3e75093..156a6a8b 100644 --- a/.yoi/tickets/20260609-085212-001/thread.md +++ b/.yoi/tickets/20260609-085212-001/thread.md @@ -101,3 +101,51 @@ Next action: - Re-read this Ticket and accept from queued if still unblocked. --- + + + +## State changed + +Accepted queued implementation under the updated parallel-capacity policy. The active ToolExecutionContext branch changes core Tool execution plumbing, while this Ticket changes the bounded TicketList output surface. There may be a small mechanical conflict around the TicketList tool implementation, but it is expected to be localized and manageable, so parallel work is preferred. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Updated user instruction: prefer parallel work when Tickets are independent or expected conflicts are small/manageable. + +Reason: +- This Ticket changes `TicketList` output/tool/CLI/workflow guidance. +- `20260609-093050-001` changes the core Tool execution context API. The overlap is expected to be a localized mechanical merge in tool execution signatures / TicketList implementation, not a design conflict. +- Running this in parallel should improve throughput while preserving separate worktrees and explicit review. + +IntentPacket: + +Intent: +- Make `TicketList` a lightweight bounded overview/selection surface and keep detailed authority in `TicketShow`. + +Binding decisions / invariants: +- Default `TicketList` output must not include body/thread/artifact details. +- Per-Ticket summary must be short and bounded: canonical id, title, state, minimal timestamp, and short attention/blocking hints if any. +- Long titles/diagnostics must be truncated. +- Default/max limits should be smaller and context-safe, especially for `state=all` / closed-inclusive listing. +- Tool output is the priority for context safety; CLI should remain human-readable without huge default JSON/Markdown. +- `TicketList` is not routing/close/implementation authority; Orchestrator must read `TicketShow` for decisions. +- Do not change Ticket backend schema, TicketShow detail, Ticket relation/Objectives/OrchestrationPlan design. + +Reviewer focus: +- Verify no body/thread/artifact prose leaks into list output. +- Verify output remains useful for selection and backlog overview. +- Verify default limits and truncation are bounded and tested. +- Watch for small merge interactions with the ToolExecutionContext branch; resolve by using the new context API without expanding scope. + +Validation: +- Focused tests for long-title truncation, large-list limits, all/closed cap, JSON/tool output shape, no body/thread leakage. +- CLI list output tests. +- `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 2e8af110..273a9509 100644 --- a/.yoi/tickets/20260609-095518-001/item.md +++ b/.yoi/tickets/20260609-095518-001/item.md @@ -2,7 +2,7 @@ title: 'action_requiredとattention_requiredをTicket schemaから削除する' state: 'queued' created_at: '2026-06-09T09:55:18Z' -updated_at: '2026-06-09T10:12:07Z' +updated_at: '2026-06-09T10:19:34Z' 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 bf370749..70bd9cde 100644 --- a/.yoi/tickets/20260609-095518-001/thread.md +++ b/.yoi/tickets/20260609-095518-001/thread.md @@ -53,3 +53,23 @@ Next action: - Re-read this Ticket after that lands, then accept from queued if still unblocked. --- + + + +## Decision + +Routing decision update: still_waiting_due_surface_overlap + +The user asked to prefer parallel work when conflicts are absent or expected to be small. I re-evaluated this Ticket under that policy and am still leaving it queued. + +Reason: +- This Ticket removes `action_required` / `attention_required` from Ticket schema/tool API/Panel behavior. +- `20260609-085212-001` now runs in parallel and also changes TicketList/tool output. +- `20260609-084725-001` now runs in parallel and changes Panel behavior/key/display. +- Running this cleanup at the same time would overlap both active Ticket tool output and Panel behavior surfaces; this is more than a small mechanical conflict. + +State decision: +- Leave this Ticket `queued`. +- Re-read and route it after either TicketList output slimming or Panel display work lands, depending on which surface remains active. + +---