Skip to content

v0.0.2 — Conversation UX & Architecture Baseline

Latest

Choose a tag to compare

@liangwythu liangwythu released this 15 Aug 12:09
· 4 commits to main since this release

Conversation UX & Architecture Baseline.

The "main-branch last direct-push release": hardens structure, rendering correctness, and interaction UX so that v0.0.3+ can be developed entirely via feature PRs onto stable boundaries.

Architecture (structural boundary hardening)

  • AppController owns all orchestration. extension.ts stays as pure wiring.
  • ConversationModel replaces flat SessionModel. Events project into conversation-semantic ConversationItem[].
  • Workspace creation split into findHarnessWorkspace() and ensureHarnessWorkspace().
  • View split: provider.ts joined by styles.ts, html.ts, client.ts, toolPresentation.ts.

UX fixes

  • Lazy workspace + session on first Send — no confirmation modals.
  • Tool cards merged: tool/call + tool/result → single ToolItem with collapsed header.
  • System messages are their own item kind (SystemItem, not UserItem.system).
  • Assistant Markdown rendering via markdown-it inside the webview.
  • Streaming text always re-renders via monotonic renderVersion.

Test coverage

  • Integration test upgraded to exercise ConversationModel.
  • renderVersion strictly increases (1 → 19).
  • No tool-call/tool-result kinds leak into ConversationItem.
  • systemMessageCount tracked separately.

Discipline

  • NOT in v0.0.2: Diff review, approval/respond, inline completion, context injection, filesystem provider, terminal integration, LSP/ACP/SDK abstractions. All start as feature branches/PRs from v0.0.3.