@pellux/goodvibes-tui 1.16.1 → 1.17.0

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.
Files changed (219) hide show
  1. package/CHANGELOG.md +89 -9
  2. package/README.md +1 -1
  3. package/docs/foundation-artifacts/operator-contract.json +1091 -271
  4. package/package.json +7 -7
  5. package/src/cli/completions/generate.ts +5 -4
  6. package/src/cli/config-overrides.ts +51 -11
  7. package/src/cli/doctor.ts +4 -5
  8. package/src/cli/entrypoint.ts +13 -8
  9. package/src/cli/help.ts +7 -6
  10. package/src/cli/launch-auto-update.ts +214 -0
  11. package/src/cli/parser.ts +5 -0
  12. package/src/cli/status.ts +13 -0
  13. package/src/cli/surface-command.ts +5 -5
  14. package/src/cli/tui-startup.ts +60 -97
  15. package/src/cli/types.ts +2 -0
  16. package/src/config/index.ts +1 -1
  17. package/src/config/tui-extension-settings.ts +33 -0
  18. package/src/core/composer-state.ts +1 -1
  19. package/src/core/conversation-line-cache.ts +3 -3
  20. package/src/core/conversation-rendering.ts +4 -4
  21. package/src/core/conversation.ts +2 -2
  22. package/src/core/long-task-notifier.ts +7 -7
  23. package/src/core/stream-event-wiring.ts +8 -6
  24. package/src/core/system-message-noise.ts +1 -1
  25. package/src/core/system-message-router.ts +6 -6
  26. package/src/core/turn-cancellation.ts +1 -1
  27. package/src/core/turn-event-wiring.ts +8 -8
  28. package/src/daemon/cli.ts +20 -5
  29. package/src/daemon/lifecycle.ts +41 -0
  30. package/src/daemon/service-commands.ts +5 -5
  31. package/src/export/cost-utils.ts +128 -6
  32. package/src/input/autocomplete.ts +2 -2
  33. package/src/input/command-registry.ts +34 -9
  34. package/src/input/commands/ci-runtime.ts +5 -1
  35. package/src/input/commands/codebase-runtime.ts +6 -6
  36. package/src/input/commands/cost-runtime.ts +1 -1
  37. package/src/input/commands/health-runtime.ts +2 -2
  38. package/src/input/commands/intelligence-runtime.ts +1 -1
  39. package/src/input/commands/local-auth-runtime.ts +1 -1
  40. package/src/input/commands/local-provider-runtime.ts +49 -10
  41. package/src/input/commands/local-runtime.ts +53 -5
  42. package/src/input/commands/memory.ts +2 -2
  43. package/src/input/commands/operator-panel-runtime.ts +5 -5
  44. package/src/input/commands/permissions-provenance.ts +1 -1
  45. package/src/input/commands/permissions-runtime.ts +99 -8
  46. package/src/input/commands/planning-runtime.ts +3 -3
  47. package/src/input/commands/platform-sandbox-runtime.ts +1 -1
  48. package/src/input/commands/provider-accounts-runtime.ts +71 -6
  49. package/src/input/commands/provider.ts +7 -5
  50. package/src/input/commands/recall-files-git.ts +13 -51
  51. package/src/input/commands/recall-files.ts +8 -11
  52. package/src/input/commands/recall-review.ts +2 -2
  53. package/src/input/commands/relay-runtime.ts +1 -1
  54. package/src/input/commands/remote-runtime.ts +1 -1
  55. package/src/input/commands/runtime-services.ts +4 -4
  56. package/src/input/commands/schedule-runtime.ts +14 -7
  57. package/src/input/commands/services-runtime.ts +1 -1
  58. package/src/input/commands/session-workflow.ts +2 -2
  59. package/src/input/commands/settings-sync-runtime.ts +2 -2
  60. package/src/input/commands/share-runtime.ts +1 -1
  61. package/src/input/commands/shell-core.ts +46 -68
  62. package/src/input/commands/subscription-runtime.ts +1 -1
  63. package/src/input/commands/update-runtime.ts +153 -96
  64. package/src/input/commands/work-plan-runtime.ts +1 -1
  65. package/src/input/commands/workstream-runtime.ts +2 -2
  66. package/src/input/commands.ts +0 -2
  67. package/src/input/config-modal-types.ts +3 -3
  68. package/src/input/config-modal.ts +10 -11
  69. package/src/input/feature-unit-layout.ts +93 -82
  70. package/src/input/feed-context-factory.ts +2 -2
  71. package/src/input/handler-command-route.ts +2 -2
  72. package/src/input/handler-content-actions.ts +1 -1
  73. package/src/input/handler-feed-routes.ts +7 -7
  74. package/src/input/handler-feed.ts +4 -4
  75. package/src/input/handler-interactions.ts +3 -2
  76. package/src/input/handler-modal-routes.ts +12 -4
  77. package/src/input/handler-modal-token-routes.ts +1 -1
  78. package/src/input/handler-onboarding-daemon-adopt.ts +2 -2
  79. package/src/input/handler-onboarding.ts +3 -2
  80. package/src/input/handler-picker-routes.ts +26 -13
  81. package/src/input/handler-shortcuts.ts +6 -6
  82. package/src/input/handler.ts +2 -2
  83. package/src/input/keybindings.ts +2 -2
  84. package/src/input/onboarding/onboarding-feature-units.ts +34 -27
  85. package/src/input/onboarding/onboarding-provider-key-fields.ts +112 -0
  86. package/src/input/onboarding/onboarding-wizard-apply.ts +22 -21
  87. package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +17 -0
  88. package/src/input/onboarding/onboarding-wizard-network-adopt.ts +2 -2
  89. package/src/input/onboarding/onboarding-wizard-steps.ts +30 -42
  90. package/src/input/panel-integration-actions.ts +2 -2
  91. package/src/input/panel-mouse-geometry.ts +1 -1
  92. package/src/input/panel-paste-flood-guard.ts +1 -1
  93. package/src/input/provider-key-intake.ts +167 -0
  94. package/src/input/sandbox-exec-config.ts +2 -2
  95. package/src/input/selection-modal.ts +1 -1
  96. package/src/input/settings-modal-activation.ts +5 -0
  97. package/src/input/settings-modal-adjustment.ts +4 -31
  98. package/src/input/settings-modal-data.ts +22 -21
  99. package/src/input/settings-modal-mutations.ts +12 -68
  100. package/src/input/settings-modal-types.ts +23 -16
  101. package/src/input/settings-modal.ts +74 -55
  102. package/src/main.ts +48 -48
  103. package/src/panels/agent-inspector-shared.ts +4 -4
  104. package/src/panels/base-panel.ts +2 -2
  105. package/src/panels/builtin/agent.ts +4 -4
  106. package/src/panels/builtin/development.ts +4 -4
  107. package/src/panels/builtin/knowledge.ts +1 -1
  108. package/src/panels/builtin/operations.ts +29 -10
  109. package/src/panels/builtin/session.ts +5 -5
  110. package/src/panels/builtin/shared.ts +4 -4
  111. package/src/panels/builtin-modals.ts +10 -10
  112. package/src/panels/builtin-panels.ts +1 -1
  113. package/src/panels/cost-tracker-panel.ts +124 -7
  114. package/src/panels/diff-panel.ts +5 -5
  115. package/src/panels/eval-registry.ts +2 -2
  116. package/src/panels/fleet-deep-link.ts +1 -1
  117. package/src/panels/fleet-panel-format.ts +44 -8
  118. package/src/panels/fleet-panel.ts +16 -16
  119. package/src/panels/fleet-read-model.ts +52 -13
  120. package/src/panels/fleet-steer.ts +2 -2
  121. package/src/panels/fleet-stop.ts +3 -3
  122. package/src/panels/fleet-tabs.ts +13 -14
  123. package/src/panels/fleet-transcript.ts +5 -5
  124. package/src/panels/git-panel.ts +2 -2
  125. package/src/panels/index.ts +4 -1
  126. package/src/panels/local-auth-panel.ts +1 -1
  127. package/src/panels/modals/hooks-modal.ts +1 -1
  128. package/src/panels/modals/keybindings-modal.ts +2 -2
  129. package/src/panels/modals/knowledge-modal.ts +1 -1
  130. package/src/panels/modals/marketplace-modal.ts +4 -4
  131. package/src/panels/modals/memory-modal.ts +4 -4
  132. package/src/panels/modals/modal-surface-helpers.ts +1 -1
  133. package/src/panels/modals/modal-theme.ts +1 -1
  134. package/src/panels/modals/pairing-modal.ts +2 -2
  135. package/src/panels/modals/planning-modal.ts +2 -2
  136. package/src/panels/modals/plugins-modal.ts +1 -1
  137. package/src/panels/modals/policy-modal.ts +1 -1
  138. package/src/panels/modals/security-modal.ts +1 -1
  139. package/src/panels/modals/skills-modal.ts +1 -1
  140. package/src/panels/modals/work-plan-modal.ts +3 -3
  141. package/src/panels/notifications-feed.ts +127 -0
  142. package/src/panels/notifications-panel.ts +160 -0
  143. package/src/panels/panel-manager.ts +9 -9
  144. package/src/panels/plugins-panel.ts +4 -4
  145. package/src/panels/project-planning-answer-actions.ts +1 -1
  146. package/src/panels/provider-health-routes.ts +2 -2
  147. package/src/panels/skills-panel.ts +4 -5
  148. package/src/panels/token-budget-panel.ts +11 -3
  149. package/src/panels/types.ts +5 -5
  150. package/src/permissions/broker-approval-card.ts +201 -0
  151. package/src/permissions/hunk-selection.ts +28 -4
  152. package/src/permissions/prompt.ts +244 -29
  153. package/src/renderer/autocomplete-overlay.ts +107 -54
  154. package/src/renderer/code-block.ts +2 -2
  155. package/src/renderer/compaction-history-modal.ts +1 -1
  156. package/src/renderer/compaction-preview.ts +1 -1
  157. package/src/renderer/compaction-quality.ts +1 -1
  158. package/src/renderer/compositor.ts +2 -2
  159. package/src/renderer/config-modal.ts +1 -1
  160. package/src/renderer/conversation-overlays.ts +1 -1
  161. package/src/renderer/footer-tips.ts +3 -3
  162. package/src/renderer/hint-grammar.ts +1 -1
  163. package/src/renderer/modal-factory.ts +1 -1
  164. package/src/renderer/model-picker-overlay.ts +1 -1
  165. package/src/renderer/model-workspace.ts +7 -2
  166. package/src/renderer/panel-composite.ts +2 -2
  167. package/src/renderer/panel-workspace-bar.ts +1 -1
  168. package/src/renderer/process-indicator.ts +1 -1
  169. package/src/renderer/selection-modal-overlay.ts +1 -1
  170. package/src/renderer/session-picker-modal.ts +2 -2
  171. package/src/renderer/settings-modal-helpers.ts +14 -5
  172. package/src/renderer/settings-modal.ts +127 -39
  173. package/src/renderer/shell-surface.ts +3 -0
  174. package/src/renderer/terminal-bg-probe.ts +1 -1
  175. package/src/renderer/theme.ts +3 -3
  176. package/src/renderer/tool-call.ts +1 -1
  177. package/src/renderer/tool-result-summary.ts +1 -1
  178. package/src/renderer/turn-injection.ts +7 -6
  179. package/src/renderer/ui-factory.ts +6 -1
  180. package/src/runtime/bootstrap-command-context.ts +4 -1
  181. package/src/runtime/bootstrap-command-parts.ts +6 -4
  182. package/src/runtime/bootstrap-core.ts +35 -35
  183. package/src/runtime/bootstrap-hook-bridge.ts +1 -1
  184. package/src/runtime/bootstrap-shell.ts +6 -5
  185. package/src/runtime/bootstrap.ts +34 -32
  186. package/src/runtime/channel-composition.ts +46 -0
  187. package/src/runtime/code-index-services.ts +3 -4
  188. package/src/runtime/daemon-attach-notices.ts +120 -0
  189. package/src/runtime/durability-services.ts +55 -0
  190. package/src/runtime/embedded-service-factories.ts +40 -0
  191. package/src/runtime/feature-settings.ts +147 -0
  192. package/src/runtime/index.ts +4 -21
  193. package/src/runtime/legacy-daemon-migration.ts +29 -19
  194. package/src/runtime/memory-fold.ts +1 -1
  195. package/src/runtime/notification-dispatch.ts +110 -0
  196. package/src/runtime/onboarding/apply.ts +3 -29
  197. package/src/runtime/onboarding/fast-path.ts +39 -6
  198. package/src/runtime/onboarding/provider-key-capture.ts +126 -0
  199. package/src/runtime/onboarding/snapshot.ts +0 -1
  200. package/src/runtime/onboarding/types.ts +9 -3
  201. package/src/runtime/provider-fallback.ts +55 -0
  202. package/src/runtime/provider-optimizer-wiring.ts +55 -0
  203. package/src/runtime/release-artifacts.ts +19 -103
  204. package/src/runtime/resume-notice.ts +1 -1
  205. package/src/runtime/services.ts +81 -82
  206. package/src/runtime/session-continuity-hints.ts +38 -0
  207. package/src/runtime/surface-feature-flags.ts +40 -9
  208. package/src/runtime/terminal-output-guard.ts +2 -2
  209. package/src/runtime/trust/workspace-registration.ts +10 -2
  210. package/src/runtime/trust/workspace-trust.ts +58 -31
  211. package/src/runtime/ui-services.ts +3 -1
  212. package/src/runtime/update-check.ts +15 -69
  213. package/src/runtime/workstream-services.ts +2 -2
  214. package/src/shell/blocking-input.ts +102 -6
  215. package/src/shell/ui-openers.ts +38 -6
  216. package/src/utils/format-duration.ts +1 -1
  217. package/src/verification/verification-ledger.ts +21 -4
  218. package/src/version.ts +1 -1
  219. package/src/input/commands/flags-runtime.ts +0 -328
package/CHANGELOG.md CHANGED
@@ -4,6 +4,86 @@ All notable changes to GoodVibes TUI.
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.17.0] — 2026-07-13
8
+
9
+ ### Changes
10
+ - fix(smoke): opt the daemon post-build smoke out of service boot promotion so the daemon under test stays in-process
11
+ - fix(daemon): print this binary's real version in the connection banner instead of the v0.0.0 default
12
+ - a7780e18 Pin @pellux/goodvibes-sdk and goodvibes-terminal-shell to published 1.8.0
13
+ - 08d4c409 Sync foundation artifacts and test provider doubles to the round-10 SDK contract
14
+ - 39134bb2 Complete the CI fix-session affordance: one-key attach to the real session, honest error line on a failed spawn
15
+ - ce1b14bd Re-link the local SDK tarballs to the round-10 build carrying the real fix-session id contract
16
+ - 2acbba55 Offer a one-key jump to a spawned CI fix session instead of a resume command to retype
17
+ - 52faa61d Rewrite the memory-modal sample record in plain language and drop its identifier-check carve-out
18
+ - 92a9649c Name domain settings keys, not internal gate ids, in surface readiness output
19
+ - e96dda8e Read an adopted external daemon's attach-time receipts over HTTP so the default deployment gets the same one-line notices
20
+ - 5890e1f9 Wire the interactive-exec prompt-answer handler into the tool registry and post-clobber orchestrator so terminal prompts get an ask
21
+ - 071255cb Thread the provider registry into agent and automation managers so bare model ids resolve
22
+ - 3a86ac34 Footer: persistent web-surface URL segment when the web surface is enabled
23
+ - b20005a2 Sandbox: announce 'commands now run contained' on the first contained run
24
+ - fb45c2a7 Daemon attach-time receipts + announcements consume as one-line notices
25
+ - b783622a Slim main.ts: extract the session-continuity-hints builder
26
+ - 715c414c dev-link: re-link to sdk 1d6a85e2, wire ci fix-session jump affordance
27
+ - f94d08e8 Automation: how-to-create-first-routine empty state with a real command pointer
28
+ - f0e6fb18 Re-link fixups: regenerate foundation artifacts, mock resolveModelPricing
29
+ - c0ccbd6c Daemon self-update via facade host-version wiring; workspace self-record provenance
30
+ - b30e1008 dev-link: re-link to sdk d494938c
31
+ - 21e82f3c Render broker-originated approval asks (including ci:fix-session) as cards
32
+ - d40901bc Give the panel_only notification target a live producer
33
+ - 40cfa261 Permissions settings: list and revoke remembered approval rules
34
+ - b4ffb403 Approval card: pass scroll, mouse, and Esc through to input
35
+ - e939b20c Run live model discovery in the TUI: init, picker-open re-check, /refresh-models delta
36
+ - f3d6a079 Wire the localhost-fetch approval into tools and both orchestrator sites
37
+ - 17b66695 Generalize onboarding subscription rows; close codename-scanner holes
38
+ - 794bf9f4 Provider-agnostic onboarding key capture
39
+ - 017a9c09 Provider key intake at selection, and executable provider repair rows
40
+ - 9e6544b8 dev-link: re-link to sdk 9be5fecd (committed export entries, receipt-consumption contract)
41
+ - 60465227 daemon parity: pin the ci-watch recurring poller's attachment
42
+ - e7ae78e5 approval card: remember tiers, colored diffs, whole commands, typed replies, an honest queue
43
+ - 3b12178f costs and budgets: dollars name their source, unknown prices carry the one-key fix, manual prices persist live
44
+ - ecbb4f91 fleet: per-node headlines, the quiet-Nm stall marker, and the canonical waiting-on-human classification
45
+ - 7881abfc update mechanism: one canonical policy module everywhere
46
+ - ef1cc4d8 onboarding fast path: copy generated from registration truth
47
+ - b90f2615 daemon composition: mirror the sdk runtime-services round (approval rules, snapshots, pricing resolver, live credentials, exec prompts, update lifecycle)
48
+ - b459c3b5 dev-link: four more sdk export subpaths for the daemon lifecycle family
49
+ - b10a610f dev-link: expose store-snapshots and self-update subpaths on the sdk tarball
50
+ - b5b22fbb dev-link: refresh sdk tarballs to snapshot 4d8d90ee
51
+ - 5a698519 auth-behavior test: OS-assigned ports end the port-in-use flake
52
+ - 8d1c019e ops interventions: gate on the real control-plane gateway capability, proven live
53
+ - 8d857c55 composition trims for the line cap; channel wiring in its own module
54
+ - ff47c4aa onboarding: enablement-key coherence fixes surfaced by the coverage tests
55
+ - 1fc2230b tests + recall sync: adopt new SDK contracts (catalog, models, projection ownership)
56
+ - 637a7506 tests: adopt new SDK contracts across gates, automation, cli, fetch consumers
57
+ - e0121015 tests: daemon flag seeding and fetch localhost-approval tier
58
+ - 6bac548d in-product feature docs: full documentation under the cursor, scrolling pane
59
+ - 1572c8d0 onboarding: guided feature steps write domain settings keys
60
+ - afa41a18 remove the flags command family; surviving surfaces speak domain settings
61
+ - e08c7a65 settings modal: capabilities as feature units in their domains
62
+ - 03d1d65c feature settings adoption: runtime plumbing on domain settings keys
63
+ - 0865b52f dev-link: point sdk packages at local snapshot tarballs
64
+ - f3b5b8e0 auto-update: end-to-end proof of the whole launch loop with real processes
65
+ - e0da9c5f grammar lint fixture: blank-description registration now asserts the refusal
66
+ - 3d6d1965 docs: remote-access guide — daemon on an always-on box, reached from anywhere
67
+ - 861a7fb3 daemon CLI help: migrate-service copy matches the reconciled unit naming
68
+ - 2256372e /help: generate the in-product command reference from the registry
69
+ - 3415db60 service copy: stop labeling the install script's unit 'legacy'
70
+ - b7e80a8b auto-update at launch: land on the newest release before the TUI starts
71
+ - 71a599e2 install.sh: daemon survives boots without a login and never tombstones
72
+ - 6424950a chore: sweep lettered finding/brief ids and ban the recurring shapes
73
+ - 0430a889 chore: remove finding-id shorthand from comments and test names
74
+ - 48ebd188 chore: ignore the local test scratch directory
75
+ - 3d3af085 chore: strip plan-label references from comments added in the last two rounds
76
+ - e91976a0 fix(trust): ask trust at the moment it has a consequence, and self-record registration
77
+ - 5ab801a6 fix(cli,install): doctor exits honestly, and the installer makes its own last line true
78
+ - f676ef72 feat(panels): give panel-only-routed notifications a real, visible home
79
+ - f315552c fix(renderer): never clip the command-palette description or the model workspace's detail lines
80
+ - c59ddc8c Add an architecture-check rule banning internal planning identifiers
81
+ - caad649a Remove internal planning-shorthand ids from docs and remaining scripts
82
+ - c4f11597 Remove internal planning-shorthand ids from test comments and test names
83
+ - e32b5c08 Remove internal planning-shorthand ids from panels/renderer comments
84
+ - 1e99067c Remove internal planning-shorthand ids from input-layer comments
85
+ - 072b2ca2 Remove internal planning-shorthand ids from core/runtime comments
86
+
7
87
  ## [1.16.1] — 2026-07-12
8
88
 
9
89
  ### Changes
@@ -1273,7 +1353,7 @@ Maintenance release: SDK 0.22.0 bump + README/gitignore hygiene + test-timeout p
1273
1353
  SDK 0.21.27 → 0.21.35 upgrade. Captures all OBS-05, OBS-06, OBS-14, F3, QA-14, and PERF-08 consumer-side migrations; no 0.19.17 was ever published (tests failed in CI) — this release closes out all of that work.
1274
1354
 
1275
1355
  ### Changed
1276
- - Upgraded `@pellux/goodvibes-sdk` from 0.21.27 to 0.21.35. Wave 4 closeout + Wave 5 + PERF-08 SSE backpressure rebuild.
1356
+ - Upgraded `@pellux/goodvibes-sdk` from 0.21.27 to 0.21.35. Panel and provider-routing cleanup, plus the SSE backpressure rebuild.
1277
1357
  - `src/runtime/bootstrap.ts`: `getOrCreateCompanionToken('tui')` call migrated to the F3 signature `getOrCreateCompanionToken('tui', { daemonHomeDir })` with `daemonHomeDir` resolved from `services.homeDirectory`.
1278
1358
  - `src/panels/tool-inspector-panel.ts`:
1279
1359
  - TOOL_SUCCEEDED / TOOL_FAILED handlers simplified after OBS-05. Post-0.21.31 the `.result` field on these events is a `ToolResultSummary` (`{ kind, byteSize, preview? }`), not the raw tool result, so the prior `_policyAudit` extraction is no longer reachable from this event path. Dead lookup removed with an inline note pointing future readers at the approval broker / tool result store as the new channel for policy audit metadata.
@@ -1573,21 +1653,21 @@ Updated `docs/foundation-artifacts/operator-contract.json` SDK version field to
1573
1653
 
1574
1654
  ## [0.18.23] — 2026-04-16
1575
1655
 
1576
- ### Wave 4α+β performance bundle + α review follow-ups + regression fixes
1656
+ ### Conversation-rendering + feed-context performance bundle, review follow-ups, and regression fixes
1577
1657
 
1578
- Bundles Wave 4α (conversation-rendering double-parse elimination) and Wave 4β
1579
- (feed-context object reuse) into a single release, adds documentation and test
1580
- follow-ups from the 4α review, and fixes two regressions surfaced during that
1658
+ Bundles the conversation-rendering double-parse elimination and the feed-context
1659
+ object reuse into a single release, adds documentation and test follow-ups from
1660
+ the conversation-rendering review, and fixes two regressions surfaced during that
1581
1661
  review.
1582
1662
 
1583
- ### Performance (Wave 4α — conversation-rendering)
1663
+ ### Performance (conversation-rendering)
1584
1664
 
1585
1665
  - **`src/core/conversation-rendering.ts`** — eliminates the legacy `renderMarkdown()`
1586
1666
  duplicate call used for `'code'` mode line counting. The 'all' mode retain its
1587
1667
  intentional measurement pass (see inline comment for rationale); the 'code' mode
1588
1668
  now derives its gutter width from the single `renderMarkdownTracked()` call.
1589
1669
 
1590
- ### Performance (Wave 4β — feed-context object reuse)
1670
+ ### Performance (feed-context object reuse)
1591
1671
 
1592
1672
  - **`src/input/handler.ts`** — `InputHandler` now allocates a single `InputFeedContext`
1593
1673
  at startup (`initFeedContext()`) and mutates only the 14 mutable fields before
@@ -1601,7 +1681,7 @@ review.
1601
1681
 
1602
1682
  ### Regression fixes
1603
1683
 
1604
- - **R1 — `handler.ts` architecture cap** — `handler.ts` was 830 lines after Wave 4β.
1684
+ - **R1 — `handler.ts` architecture cap** — `handler.ts` was 830 lines after the feed-context reuse change.
1605
1685
  Extracted factory functions into `src/input/feed-context-factory.ts`; `handler.ts`
1606
1686
  is now exactly 800 lines. `bun run architecture:check` passes.
1607
1687
  - **R2 — `SearchableListPanel.buildFilterInputLine` cursor glyph** — the focused
@@ -1611,7 +1691,7 @@ review.
1611
1691
  `[Label] ` bracket format provides the focused visual affordance without triggering
1612
1692
  the substitution. Fixes the pre-existing test failure from 0.18.22.
1613
1693
 
1614
- ### Quality bumps (Wave 4α review follow-ups)
1694
+ ### Quality bumps (conversation-rendering review follow-ups)
1615
1695
 
1616
1696
  - **F1** — `src/test/input/feed-context-reuse.test.ts`: added mutable-field assertion
1617
1697
  verifying `ctx.prompt` and `ctx.cursorPos` update between feeds (feeds 'a' → 'b',
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/mgd34msu/goodvibes-tui/actions/workflows/ci.yml/badge.svg)](https://github.com/mgd34msu/goodvibes-tui/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
- [![Version](https://img.shields.io/badge/version-1.16.1-blue.svg)](https://github.com/mgd34msu/goodvibes-tui)
5
+ [![Version](https://img.shields.io/badge/version-1.17.0-blue.svg)](https://github.com/mgd34msu/goodvibes-tui)
6
6
 
7
7
  A terminal-native AI coding, operations, automation, knowledge, and integration console with a typed runtime, omnichannel surfaces, structured memory/knowledge, and a raw ANSI renderer.
8
8