ticket: close composer history persistence
This commit is contained in:
parent
e6593d0549
commit
958b24133d
|
|
@ -2,13 +2,13 @@
|
||||||
id: 20260601-021104-tui-composer-history-persistence
|
id: 20260601-021104-tui-composer-history-persistence
|
||||||
slug: tui-composer-history-persistence
|
slug: tui-composer-history-persistence
|
||||||
title: 'TUI: persist composer input recall history per workspace'
|
title: 'TUI: persist composer input recall history per workspace'
|
||||||
status: open
|
status: 'closed'
|
||||||
kind: task
|
kind: task
|
||||||
priority: P2
|
priority: P2
|
||||||
labels: [tui, composer, history, persistence]
|
labels: [tui, composer, history, persistence]
|
||||||
workflow_state: 'inprogress'
|
workflow_state: 'done'
|
||||||
created_at: 2026-06-01T02:11:04Z
|
created_at: 2026-06-01T02:11:04Z
|
||||||
updated_at: '2026-06-09T00:00:35Z'
|
updated_at: '2026-06-09T00:05:13Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-08T13:19:06Z'
|
queued_at: '2026-06-08T13:19:06Z'
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
Implemented, reviewed, merged, and validated.
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
- Added persistent TUI composer recall history per workspace.
|
||||||
|
- Stores history under the user data dir at `composer-history/workspaces/<workspace-label>-<fnv64-key>/history.json`, not under workspace `.yoi/`.
|
||||||
|
- Stores workspace metadata and typed `Segment` vectors, not flattened strings.
|
||||||
|
- Persists only non-blank submissions, suppresses consecutive duplicates, and bounds history to 30 entries per workspace.
|
||||||
|
- Preserves TUI-local/non-destructive recall semantics: recall does not mutate Pod protocol, worker history, session transcript, model context, or conversation state until explicit submit.
|
||||||
|
- Corrupt history files fall back to empty history with a bounded generic warning.
|
||||||
|
|
||||||
|
Implementation:
|
||||||
|
- Coder commit: `64b7ff7 tui: persist composer history`
|
||||||
|
- Reviewer approved with no blocking findings.
|
||||||
|
- Merge commit: `b616420 merge: persist tui composer history`
|
||||||
|
|
||||||
|
Validation after merge:
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- `git diff --check`
|
||||||
|
- `cargo run -q -p yoi -- ticket doctor`
|
||||||
|
- `cargo check --workspace`
|
||||||
|
- `nix build .#yoi`
|
||||||
|
|
@ -260,4 +260,42 @@ Residual risks / notes:
|
||||||
- Broader `cargo test -p tui` still has a pre-existing unrelated failure in `multi_composer_target_switch_preserves_typed_text`; this implementation did not modify `multi_pod.rs`.
|
- Broader `cargo test -p tui` still has a pre-existing unrelated failure in `multi_composer_target_switch_preserves_typed_text`; this implementation did not modify `multi_pod.rs`.
|
||||||
- Final merge/close/cleanup is intentionally not performed here without explicit merge approval.
|
- Final merge/close/cleanup is intentionally not performed here without explicit merge approval.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: hare at: 2026-06-09T00:05:13Z from: inprogress to: done reason: closed field: workflow_state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket closed; workflow_state を done に設定しました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-06-09T00:05:13Z status: closed -->
|
||||||
|
|
||||||
|
## 完了
|
||||||
|
|
||||||
|
Implemented, reviewed, merged, and validated.
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
- Added persistent TUI composer recall history per workspace.
|
||||||
|
- Stores history under the user data dir at `composer-history/workspaces/<workspace-label>-<fnv64-key>/history.json`, not under workspace `.yoi/`.
|
||||||
|
- Stores workspace metadata and typed `Segment` vectors, not flattened strings.
|
||||||
|
- Persists only non-blank submissions, suppresses consecutive duplicates, and bounds history to 30 entries per workspace.
|
||||||
|
- Preserves TUI-local/non-destructive recall semantics: recall does not mutate Pod protocol, worker history, session transcript, model context, or conversation state until explicit submit.
|
||||||
|
- Corrupt history files fall back to empty history with a bounded generic warning.
|
||||||
|
|
||||||
|
Implementation:
|
||||||
|
- Coder commit: `64b7ff7 tui: persist composer history`
|
||||||
|
- Reviewer approved with no blocking findings.
|
||||||
|
- Merge commit: `b616420 merge: persist tui composer history`
|
||||||
|
|
||||||
|
Validation after merge:
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- `git diff --check`
|
||||||
|
- `cargo run -q -p yoi -- ticket doctor`
|
||||||
|
- `cargo check --workspace`
|
||||||
|
- `nix build .#yoi`
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
Loading…
Reference in New Issue
Block a user