76 lines
4.0 KiB
Markdown
76 lines
4.0 KiB
Markdown
<!-- event: create author: LocalTicketBackend at: 2026-06-09T08:51:48Z -->
|
|
|
|
## 作成
|
|
|
|
LocalTicketBackend によって作成されました。
|
|
|
|
---
|
|
|
|
<!-- event: intake_summary author: intake at: 2026-06-09T10:20:52Z -->
|
|
|
|
## Intake summary
|
|
|
|
既存 Ticket は、closed 済みの `20260609-032533-001` で追加された `session-analytics` 基盤への concrete follow-up として十分に具体化済み。目的は assistant response 単位の tool batching / edit round-trip 指標を JSON report に追加することで、実装対象 metrics、断定しない diagnostics 方針、非目標、受け入れ条件、テスト観点が明記されている。未決定の product/API/authority boundary はなく、Orchestrator は implementation_ready として routing できる。Reviewer focus は、response/tool-result cycle 推定の妥当性、raw content を出さない既存 analytics privacy boundary の維持、consecutive edit-only streak の過剰断定回避、既存 CLI/JSON schema との整合性。
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: intake at: 2026-06-09T10:20:52Z from: planning to: ready reason: intake_ready field: state -->
|
|
|
|
## State changed
|
|
|
|
Intake で既存 Ticket の本文・thread・artifacts と関連する closed Ticket `20260609-032533-001` を確認した。要件は実装・レビュー・検証できる粒度まで整理済みであり、planning から ready にする。
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: workspace-panel at: 2026-06-09T10:31:14Z from: ready to: queued reason: queued field: state -->
|
|
|
|
## State changed
|
|
|
|
Ticket を `workspace-panel` が queued にしました。
|
|
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: orchestrator at: 2026-06-09T10:35:08Z from: queued to: inprogress reason: orchestrator_acceptance_parallel_capacity field: state -->
|
|
|
|
## 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.
|
|
|
|
---
|
|
|
|
<!-- event: decision author: orchestrator at: 2026-06-09T10:35:08Z -->
|
|
|
|
## 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`.
|
|
|
|
---
|