ticket: close session analytics tooling

This commit is contained in:
Keisuke Hirata 2026-06-09 16:41:14 +09:00
parent 0d2a6a7bf3
commit 7f4c78f1b6
No known key found for this signature in database
3 changed files with 69 additions and 2 deletions

View File

@ -1,8 +1,8 @@
---
title: "セッション解析ツールを追加する"
state: 'inprogress'
state: 'closed'
created_at: "2026-06-09T03:25:33Z"
updated_at: '2026-06-09T07:37:41Z'
updated_at: '2026-06-09T07:40:53Z'
queued_by: 'workspace-panel'
queued_at: '2026-06-09T06:56:20Z'
---

View File

@ -0,0 +1,25 @@
Implemented, reviewed, merged, and validated.
Summary:
- Added reusable `crates/session-analytics` library with `analyze_session(path) -> SessionReport`.
- Added thin product CLI `yoi session analyze <SESSION_JSONL_PATH> --json` that delegates to the library.
- Implemented tolerant streaming JSONL parsing with bounded malformed/unknown-entry diagnostics.
- Report covers tool usage counts, calls per turn, failed tool counts, repeated reads with mutation/context-lifecycle observations, edit/write churn, `replace_all`, large edit/result observations, saved/truncated Bash outputs, and compaction/prune/context correlations.
- Default report avoids raw user input, raw tool arguments, raw file contents, raw session snippets, and raw tool output content.
- Tests use synthetic/minimal fixtures rather than private local sessions.
- No Worker pruning/compaction, Pod protocol/history/session writer, TUI dashboard, prompt auto-fixer, or LLM summarization behavior was changed.
Implementation:
- Coder commit: `c1809b3 feat: add session analytics tooling`
- Reviewer approved with no blocking findings.
- Merge commit: `0d2a6a7 merge: add session analytics tooling`
Validation after merge:
- `cargo test -p session-analytics`
- `cargo test -p yoi session_cli`
- `cargo test -p yoi parse_session_analyze_uses_session_mode`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- ticket doctor`
- `cargo check --workspace`
- `nix build .#yoi`

View File

@ -228,4 +228,46 @@ Passed:
- Repeated-read and Bash-file-inspection diagnostics are correctly framed as observations/correlations rather than automatic blame.
- The new top-level `session` subcommand reserves that literal bare token; explicit `--pod session` remains the escape hatch for a Pod named `session`.
---
<!-- event: state_changed author: hare at: 2026-06-09T07:40:53Z from: inprogress to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-09T07:40:53Z status: closed -->
## 完了
Implemented, reviewed, merged, and validated.
Summary:
- Added reusable `crates/session-analytics` library with `analyze_session(path) -> SessionReport`.
- Added thin product CLI `yoi session analyze <SESSION_JSONL_PATH> --json` that delegates to the library.
- Implemented tolerant streaming JSONL parsing with bounded malformed/unknown-entry diagnostics.
- Report covers tool usage counts, calls per turn, failed tool counts, repeated reads with mutation/context-lifecycle observations, edit/write churn, `replace_all`, large edit/result observations, saved/truncated Bash outputs, and compaction/prune/context correlations.
- Default report avoids raw user input, raw tool arguments, raw file contents, raw session snippets, and raw tool output content.
- Tests use synthetic/minimal fixtures rather than private local sessions.
- No Worker pruning/compaction, Pod protocol/history/session writer, TUI dashboard, prompt auto-fixer, or LLM summarization behavior was changed.
Implementation:
- Coder commit: `c1809b3 feat: add session analytics tooling`
- Reviewer approved with no blocking findings.
- Merge commit: `0d2a6a7 merge: add session analytics tooling`
Validation after merge:
- `cargo test -p session-analytics`
- `cargo test -p yoi session_cli`
- `cargo test -p yoi parse_session_analyze_uses_session_mode`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- ticket doctor`
- `cargo check --workspace`
- `nix build .#yoi`
---