From 5d9e227823d952cccd64208143bab3a08a310da6 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 9 Jun 2026 19:35:18 +0900 Subject: [PATCH] ticket: route analytics batching and parallel guidance --- .yoi/tickets/20260609-073047-001/item.md | 2 +- .yoi/tickets/20260609-073047-001/thread.md | 19 ++++++++++ .yoi/tickets/20260609-082209-001/item.md | 2 +- .yoi/tickets/20260609-082209-001/thread.md | 19 ++++++++++ .yoi/tickets/20260609-085148-001/item.md | 4 +- .yoi/tickets/20260609-085148-001/thread.md | 43 ++++++++++++++++++++++ .yoi/tickets/20260609-101732-001/item.md | 4 +- .yoi/tickets/20260609-101732-001/thread.md | 42 +++++++++++++++++++++ 8 files changed, 129 insertions(+), 6 deletions(-) diff --git a/.yoi/tickets/20260609-073047-001/item.md b/.yoi/tickets/20260609-073047-001/item.md index 65d1fc9d..3a18cfb5 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:31:17Z' +updated_at: '2026-06-09T10:35:08Z' 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 dcc30513..e06a430d 100644 --- a/.yoi/tickets/20260609-073047-001/thread.md +++ b/.yoi/tickets/20260609-073047-001/thread.md @@ -73,4 +73,23 @@ Intake refinement により、目的・範囲・受け入れ条件・binding dec Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: waiting_for_active_record_churn_to_settle + +This Ticket remains queued for now, despite the updated parallelism preference. + +Reason: +- This Ticket is a broad Ticket/Objective ID migration touching current project-record paths and internal references. +- There are multiple active worktrees currently writing Ticket records and code. +- Running a storage/ID migration in parallel with active Ticket record churn would create high merge/migration risk, not a small conflict. + +State decision: +- Leave this Ticket `queued`. +- Re-read when active worktrees are merged/closed or 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 e0cfdd65..6fa0bf06 100644 --- a/.yoi/tickets/20260609-082209-001/item.md +++ b/.yoi/tickets/20260609-082209-001/item.md @@ -2,7 +2,7 @@ title: 'Profile feature flagsでtool surfaceを制御する' state: 'queued' created_at: '2026-06-09T08:22:09Z' -updated_at: '2026-06-09T10:31:11Z' +updated_at: '2026-06-09T10:35:08Z' 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 647701c2..75c39bf5 100644 --- a/.yoi/tickets/20260609-082209-001/thread.md +++ b/.yoi/tickets/20260609-082209-001/thread.md @@ -29,4 +29,23 @@ Intake が既存 Ticket の要件を確認し、Orchestrator が routing でき Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: waiting_for_core_tool_surface_stability + +This Ticket remains queued for now, despite the updated parallelism preference. + +Reason: +- This Ticket changes Profile/Manifest feature flags and conditional tool registration across Task/Ticket/Ticket orchestration/Pod/Memory/Web tool surfaces. +- `20260609-093050-001` is still under review and changes the core Tool execution API. +- Running both together would overlap deeply in ToolRegistry/tool surface registration and test expectations, not just create a small mechanical conflict. + +State decision: +- Leave this Ticket `queued`. +- Re-read after ToolExecutionContext lands and active tool-surface branches settle. + --- diff --git a/.yoi/tickets/20260609-085148-001/item.md b/.yoi/tickets/20260609-085148-001/item.md index dcd1acb3..3cc42dfd 100644 --- a/.yoi/tickets/20260609-085148-001/item.md +++ b/.yoi/tickets/20260609-085148-001/item.md @@ -1,8 +1,8 @@ --- title: 'session analyticsにresponse単位のbatching指標を追加する' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T08:51:48Z' -updated_at: '2026-06-09T10:31:14Z' +updated_at: '2026-06-09T10:35:08Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:31:14Z' diff --git a/.yoi/tickets/20260609-085148-001/thread.md b/.yoi/tickets/20260609-085148-001/thread.md index b52beeb3..c72ebd26 100644 --- a/.yoi/tickets/20260609-085148-001/thread.md +++ b/.yoi/tickets/20260609-085148-001/thread.md @@ -29,4 +29,47 @@ Intake で既存 Ticket の本文・thread・artifacts と関連する closed Ti Ticket を `workspace-panel` が queued にしました。 +--- + + + +## State changed + +Accepted queued implementation under the updated parallel-capacity policy. This Ticket extends the already-landed session analytics crate and is independent from the active ToolExecutionContext, TicketList, and Panel worktrees. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Reason: +- This Ticket extends `session-analytics`, a recently landed and currently inactive area. +- It is independent from active ToolExecutionContext, TicketList output, and Panel UX work. +- User asked to prefer parallel work when conflicts are absent or expected small. + +IntentPacket: + +Intent: +- Add assistant-response-level tool batching and edit round-trip metrics to `session-analytics` so tool-use speed patterns can be evaluated in structured JSON. + +Binding decisions / invariants: +- Infer assistant response / tool-result cycle units from session JSONL as best-effort analytics. +- Add response-level tool call metrics: total responses, tool-call responses, total tool calls, avg/p50/p90/max, histogram, top responses by tool call count. +- Add edit batching metrics: Edit calls per response, responses containing Edit, same-file multiple Edit calls in one response, files touched per edit response, and correlation with large edit args where possible. +- Add consecutive edit-only response streak metrics by file/path and response range, distinguishing pure edit-only streaks from sequences broken/annotated by Read/Bash/test/result-dependent steps. +- Diagnostics must be observations such as possible batching opportunity, not blame or policy enforcement. +- Preserve existing privacy boundary: no raw user input, raw tool args, raw file contents, raw session snippets, or raw tool output content in default output. +- Do not change prompt/workflow behavior, implement EditBatch/ordered patch tools, or force batching policy. + +Validation: +- Tests for single response with multiple tools. +- Tests for same-response same-file multiple Edit. +- Tests for consecutive edit-only responses to same file. +- Tests for interleaved Read/test step breaking or annotating streak. +- Tests for sessions with no edits. +- `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-101732-001/item.md b/.yoi/tickets/20260609-101732-001/item.md index 7045cb54..56913c6e 100644 --- a/.yoi/tickets/20260609-101732-001/item.md +++ b/.yoi/tickets/20260609-101732-001/item.md @@ -1,8 +1,8 @@ --- title: 'Orchestratorに独立queued workの並列開始を促す' -state: 'queued' +state: 'inprogress' created_at: '2026-06-09T10:17:32Z' -updated_at: '2026-06-09T10:31:16Z' +updated_at: '2026-06-09T10:35:08Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:31:16Z' diff --git a/.yoi/tickets/20260609-101732-001/thread.md b/.yoi/tickets/20260609-101732-001/thread.md index 697b50d1..09f1bad1 100644 --- a/.yoi/tickets/20260609-101732-001/thread.md +++ b/.yoi/tickets/20260609-101732-001/thread.md @@ -29,4 +29,46 @@ Intake により要件・受け入れ条件・非目標・安全不変条件・ Ticket を `workspace-panel` が queued にしました。 +--- + + + +## State changed + +Accepted queued implementation under the updated parallel-capacity policy. This is workflow guidance for starting independent queued work in parallel, matching the user's current routing preference. It is docs/workflow-oriented and expected conflicts are small/manageable. + +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Reason: +- The user explicitly requested more parallelism when conflicts are absent or small. +- This Ticket updates Orchestrator/multi-agent workflow guidance to encode that same policy. +- It is workflow/docs-oriented and can run alongside active code changes with expected small conflict risk. + +IntentPacket: + +Intent: +- Update Orchestrator and multi-agent workflow guidance so independent queued work with available capacity is started in parallel after explicit safety checks, rather than waiting one Ticket at a time by default. + +Binding decisions / invariants: +- Orchestrator is not an automatic background scheduler. +- Do not start unqueued Tickets. +- No implementation side effects before `queued -> inprogress` acceptance. +- No blind spawn from queue notifications alone. +- Respect unresolved `depends_on` / incoming blocker relations, `do_not_parallelize`, conflict records, workspace dirty state, and shared write-scope constraints. +- Use separate worktrees/branches/write scopes for parallel Coder Pods. +- Reviewer remains read-only unless explicitly scoped otherwise. +- If queued work is left idle while capacity appears available, record a bounded reason: dependency, conflict, capacity, missing planning decision, workspace dirty state, reviewer/coder bottleneck, or human gate. +- Distinguish active work waiting on coder/reviewer output from idle Orchestrator queue-review moments. + +Validation: +- Focused workflow/prompt text validation or tests showing parallel start is preferred when safety checks pass. +- Validation that safety invariants remain explicit. +- `git diff --check`, `cargo run -q -p yoi -- ticket doctor`, `nix build .#yoi` if packaged resources/docs are touched. + ---