iclavue 10.5.0 → 10.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/clavue.js +1 -1
- package/dist/cli.js +18 -18
- package/dist/mao-command.js +1 -1
- package/dist/native/clavue-pager +0 -0
- package/dist/native/clavue-pager-darwin-arm64 +0 -0
- package/dist/native/manifest.json +2 -2
- package/dist/openai-responses-adapter.js +1 -1
- package/dist/provider-setup.js +1 -1
- package/docs/clavue-10.5.1-reliability-retro.md +128 -0
- package/docs/clavue-pager-interaction-contract.md +10 -5
- package/docs/evals/world-class/weekly-flywheel.tsv +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Clavue 10.5.1 Reliability Retro — multi-agent audit
|
|
2
|
+
|
|
3
|
+
> Date: 2026-07-11
|
|
4
|
+
> Agents: explore (plan-vs-applied), explore (binary wiring), general review, formal [reviewer]
|
|
5
|
+
> Artifacts: `/var/folders/.../grok-review-8fd406fe.md` + this doc
|
|
6
|
+
|
|
7
|
+
## Verdict
|
|
8
|
+
|
|
9
|
+
| Layer | Status |
|
|
10
|
+
|-------|--------|
|
|
11
|
+
| Core interaction code (viewport, sticky band, prompt_sel, Ctrl+J) | **Applied** |
|
|
12
|
+
| Reliability blockers found by review | **Fixed in tree this session** |
|
|
13
|
+
| npm **complete reliable ship** | **Not yet** — uncommitted; global shell still `iclavue@10.5.0`; multi-OS binary gap; release gate soft on pager |
|
|
14
|
+
|
|
15
|
+
**Ship posture:** ship-with-fixes → blockers below fixed in working tree; still need commit + `check:release` + publish + optional multi-triple pack.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Designed / configured but not fully applied (before this fix pass)
|
|
20
|
+
|
|
21
|
+
### CRITICAL / HIGH (user-visible or ship risk)
|
|
22
|
+
|
|
23
|
+
| ID | Finding | Status after fix pass |
|
|
24
|
+
|----|---------|------------------------|
|
|
25
|
+
| C1 | Hard `\n` drafts blocked ↑ history via `wants_prompt_history_keys` | **Fixed** — no blanket `\n` deny |
|
|
26
|
+
| C2 | Soft-wrap width split-brain (`term_cols-6` vs `width-4`) | **Fixed** — `prompt_content_wrap_width` single source |
|
|
27
|
+
| C3 | Prompt drag release outside dock left selection stuck / no copy | **Fixed** — `finalize_prompt_drag` |
|
|
28
|
+
| C4 | Release gate does not hard-require staged native pager | **Open** (process) |
|
|
29
|
+
| C5 | Global npm 10.5.0 + hot-replace binary only; tree 10.5.1 uncommitted | **Open** (publish) |
|
|
30
|
+
| H1 | `keys.rs` / `/keys` missing Ctrl+J, soft-wrap ↑↓, prompt select | **Fixed** |
|
|
31
|
+
| H2 | Contract “prompt selection not supported” contradicted code | **Fixed** |
|
|
32
|
+
| H3 | Home/End buffer-wide vs plan “logical line” | **Open** (product decision) |
|
|
33
|
+
| H4 | Permission modal can cover prompt | **Open** |
|
|
34
|
+
| H5 | Node tests mostly source greps, not handle_key | **Open** (partial: more unit tests) |
|
|
35
|
+
| H6 | Multi-OS: npm ships host triple only; other platforms → Ink | **Open** (packaging) |
|
|
36
|
+
| H7 | Version matrix noise: cargo 0.1.0, p2a hello 0.2.1, pagerVersion 0.1.0 | **Open** |
|
|
37
|
+
|
|
38
|
+
### MEDIUM / LOW
|
|
39
|
+
|
|
40
|
+
- Sticky model budget 5 vs layout paint ≤3 (overflow can vanish)
|
|
41
|
+
- Selected body `usize::MAX` paint risk on huge tools
|
|
42
|
+
- Dead mouse-capture “native select” comments (cleaned)
|
|
43
|
+
- No 10.5.1 release-notes / website pack
|
|
44
|
+
- PTY/ANSI visual matrix still optional
|
|
45
|
+
- Plan DoD checkboxes still claim open release items
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## What **is** solidly applied
|
|
50
|
+
|
|
51
|
+
- PromptViewport soft-wrap + above/below banners
|
|
52
|
+
- Bottom-first layout; sticky Tier-0 band outside journal scroll
|
|
53
|
+
- App-level prompt select + highlight + Ctrl+Y
|
|
54
|
+
- Soft-wrap ↑↓ + Ctrl+J newline
|
|
55
|
+
- TurnPhase / FlightSnapshot progress strip
|
|
56
|
+
- Tier-0 never hidden by compact
|
|
57
|
+
- Needs Input one-Enter → `/parallel needs`
|
|
58
|
+
- Ctrl+C / Esc ladders
|
|
59
|
+
- CJK/narrow caps; paste spill to file
|
|
60
|
+
- Binary resolution: package `dist/native` preferred over cwd
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Runtime version matrix (this machine)
|
|
65
|
+
|
|
66
|
+
| Surface | Value |
|
|
67
|
+
|---------|-------|
|
|
68
|
+
| Working tree `package.json` | **10.5.1** |
|
|
69
|
+
| Published npm (global) | **10.5.0** (+ hot-replaced pager binary) |
|
|
70
|
+
| `dist/native/manifest.json` | version 10.5.1, pagerVersion 0.1.0, darwin-arm64 |
|
|
71
|
+
| Cargo crate | 0.1.0 |
|
|
72
|
+
| Protocol | ui/v1 |
|
|
73
|
+
|
|
74
|
+
Hot-replace works: overwrite `…/iclavue/dist/native/clavue-pager*`. No package↔binary version gate.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Fix pass completed this session (post-review)
|
|
79
|
+
|
|
80
|
+
1. `prompt_content_wrap_width` — layout / paint / hit / caret / ↑↓
|
|
81
|
+
2. Multi-line history fallthrough
|
|
82
|
+
3. Prompt drag finalize outside dock; clear prompt_sel on journal click
|
|
83
|
+
4. `keys.rs` + contract out-of-scope
|
|
84
|
+
5. `kill_to_end` / `kill_word_before` clear selection
|
|
85
|
+
6. Caret-loop simplified
|
|
86
|
+
7. Unit tests: wrap parity, multi-line history
|
|
87
|
+
8. `cargo test` **43/43**; staged + global binary updated
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Remaining checklist for “完整可靠” 10.5.1
|
|
92
|
+
|
|
93
|
+
### Must before publish
|
|
94
|
+
|
|
95
|
+
- [ ] Commit all sources + staged `dist/native`
|
|
96
|
+
- [ ] Add `docs/clavue-v10.5.1-release-notes.md` (UI reliability bullet list)
|
|
97
|
+
- [ ] `npm run check:release` green (consider hard-adding `pager:stage` + `cargo test`)
|
|
98
|
+
- [ ] Explicit **确认发布** → `npm publish`
|
|
99
|
+
- [ ] Post: `npx -y iclavue@10.5.1 --version`
|
|
100
|
+
- [ ] Manual TTY smoke 80×24 + 60×20: sticky, multi-line, select/copy, Ctrl+J
|
|
101
|
+
|
|
102
|
+
### Should (10.5.1 or 10.5.2)
|
|
103
|
+
|
|
104
|
+
- [ ] Logical-line Home/End (or document buffer-wide)
|
|
105
|
+
- [ ] Permission modal confined to journal band
|
|
106
|
+
- [ ] Selected body paint soft-cap
|
|
107
|
+
- [ ] Sticky overflow `+N more` when layout caps strip
|
|
108
|
+
- [ ] Multi-triple native binaries in npm (or documented Ink fallback)
|
|
109
|
+
- [ ] Align pagerVersion / cargo hello with package version
|
|
110
|
+
|
|
111
|
+
### Optional
|
|
112
|
+
|
|
113
|
+
- [ ] PTY golden matrix
|
|
114
|
+
- [ ] Website VERSION deploy
|
|
115
|
+
- [ ] Extract pure key-dispatch for integration tests
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Agent consensus
|
|
120
|
+
|
|
121
|
+
| Agent | One-line |
|
|
122
|
+
|-------|----------|
|
|
123
|
+
| Explore plan-vs-applied | Core wired; history + release gate + help drift main gaps |
|
|
124
|
+
| Explore binary wiring | Resolution OK; multi-OS + soft gate + version chaos block “complete” |
|
|
125
|
+
| General review | No ship until wrap-width + multi-line history fixed |
|
|
126
|
+
| Formal reviewer | **ship-with-fixes**; same top blockers |
|
|
127
|
+
|
|
128
|
+
After this fix pass, code-level ship-with-fixes blockers are addressed; **process/publish** remains.
|
|
@@ -65,15 +65,19 @@ Also: **Ctrl+U** clears draft anytime (kill line).
|
|
|
65
65
|
|-----|--------|
|
|
66
66
|
| Printable | Insert at caret |
|
|
67
67
|
| Backspace / Delete | Delete before / after caret |
|
|
68
|
-
| ← →
|
|
69
|
-
| Ctrl+A / Ctrl+E |
|
|
68
|
+
| ← → | Move caret by char |
|
|
69
|
+
| Home / End · Ctrl+A / Ctrl+E | **Logical line** start / end (`\n` delimited) |
|
|
70
70
|
| Ctrl+U | Clear entire draft |
|
|
71
71
|
| Ctrl+K | Kill caret → end |
|
|
72
72
|
| Ctrl+W | Kill word before caret |
|
|
73
73
|
| Ctrl+D | Delete forward |
|
|
74
|
-
| Shift/Alt+Enter | Newline (no send) |
|
|
74
|
+
| Ctrl+J / Ctrl+Enter / Shift+Enter / Alt+Enter | Newline (no send). **Ctrl+J** is the reliable path on macOS terminals |
|
|
75
75
|
| Enter | Send (or run local `/`); **empty** + Needs Input open → `/parallel needs` panel |
|
|
76
|
-
| ↑ ↓ |
|
|
76
|
+
| ↑ ↓ | Move caret by **soft-wrap display row** when draft has >1 display row; else history (↑ from top) |
|
|
77
|
+
| Ctrl+Y (prompt focus) | Copy **selection** if any, else entire draft |
|
|
78
|
+
| Mouse drag on prompt | **App-level** select → release copies (native select cannot survive TUI redraw) |
|
|
79
|
+
| Tab | Toggle prompt ↔ scrollback |
|
|
80
|
+
| ↑ ↓ (history) | Prompt history only when caret cannot move within draft display rows |
|
|
77
81
|
| Ctrl+P / Ctrl+N | Prompt history (always) |
|
|
78
82
|
| Ctrl+R | Reverse history search (match draft · again = older) |
|
|
79
83
|
| Ctrl+S | Resume session picker |
|
|
@@ -105,6 +109,7 @@ Also: **Ctrl+U** clears draft anytime (kill line).
|
|
|
105
109
|
| Enter (other) | Return focus to prompt |
|
|
106
110
|
| y | Copy selected block body |
|
|
107
111
|
| Y | Copy selected block summary |
|
|
112
|
+
| Ctrl+Y | Copy full retained transcript |
|
|
108
113
|
| Type / Backspace | Return to prompt + edit |
|
|
109
114
|
| Alt+↑↓ | From prompt: enter scrollback (one step) |
|
|
110
115
|
| Shift+↑↓ (from prompt) | Enter scrollback + jump user turn |
|
|
@@ -195,7 +200,7 @@ Shell paints; engine executes. Switching shell does not change tools/models/rout
|
|
|
195
200
|
|------|------|
|
|
196
201
|
| Full vim mode in native pager | `/ink` → classic shell · or future opt-in |
|
|
197
202
|
| Fullscreen block viewer | Later |
|
|
198
|
-
| Multi-cursor / selection in prompt | Not supported |
|
|
203
|
+
| Multi-cursor / non-contiguous selection in prompt | Not supported (single-range drag select + Ctrl+Y **is** supported) |
|
|
199
204
|
| True binary image paste without path | OS/terminal limited; use file + `@path` |
|
|
200
205
|
|
|
201
206
|
---
|
|
@@ -38,3 +38,12 @@ date version clavue_measured_pct clavue_total_pct claim_ok provider_matrix eval_
|
|
|
38
38
|
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
39
39
|
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
40
40
|
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
41
|
+
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
42
|
+
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
43
|
+
2026-07-11 10.5.0 96.7 94.3 1 - - - - - clavue
|
|
44
|
+
2026-07-11 10.5.1 96.7 94.3 1 - - - - - clavue
|
|
45
|
+
2026-07-11 10.5.1 96.7 94.3 1 - - - - - clavue
|
|
46
|
+
2026-07-11 10.5.1 96.7 94.3 1 - - - - - clavue
|
|
47
|
+
2026-07-11 10.5.2 96.7 94.3 1 - - - - - clavue
|
|
48
|
+
2026-07-11 10.5.2 96.7 94.3 1 - - - - - clavue
|
|
49
|
+
2026-07-11 10.5.2 96.7 94.3 1 - - - - - clavue
|
package/package.json
CHANGED