Skip to content

Mod/UI 3 task stream - #24

Merged
SaketMunda merged 5 commits into
masterfrom
mod/UI-3-task-stream
Oct 10, 2026
Merged

SaketMunda merged 5 commits into
masterfrom
mod/UI-3-task-stream

Conversation

@SaketMunda

Copy link
Copy Markdown
Owner

Module

Brief: roadmap/modules/<ID>-*.md

What changed

Definition of Done

  • Every item in the brief's Acceptance criteria is met and demonstrated (test or recorded manual check).
  • scripts/verify.sh is green (typecheck, lint, unit tests).
  • New logic in packages/* has unit tests (target ≥80% line coverage on new files). UI logic (state, reducers, parsers) is tested. Pure presentation isn't required to be.
  • No any / as unknown as at package boundaries. Every external input is validated with zod.
  • No new network destinations except ones the user configured. No telemetry.
  • Errors are handled: user-facing failures show an actionable message, and nothing fails silently.
  • Brief updated: Status, Handoff notes (what was built, deviations, known gaps, follow-ups).
  • PR opened from mod/<ID>-<slug>, description links the brief, CI green.

Acceptance criteria evidence

# Criterion Evidence

SaketMunda and others added 5 commits October 10, 2026 19:50
…rchestrator

Pure reducer: task.event[] -> per-task view model (header meta, transcript
items). Unknown event types are ignored with a debug log, invalid payloads
and duplicates dropped, copy-on-write per batch. Delta compaction for the
host's retained log. Fixtures (happy, escalation, failure, cancel) are
recorded from the bundled orchestrator against a scripted OpenAI-compatible
server (DESIIDE_RECORD=1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TaskStore retains each task's summary, create params and compacted events,
batches events to the panel per ~frame, replays a snapshot on reload, and
prunes the oldest finished tasks. TranscriptController handles cancel,
retry, insert-at-cursor and full tool output, and refreshes summaries from
task.list when a task ends. TaskClient gains list().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…king, task list

Markdown via markdown-it (raw HTML off, http/mailto links only) split into
prose runs and code blocks with copy / insert at cursor; highlight.js core
with grammars lazy-loaded as chunks (CSP gains 'strict-dynamic'). Tool cards,
collapsed Thinking blocks (ADR-022), error cards mapped to actions with a
retry-after countdown, UI-4/UI-5 placeholder slots in ITEM_RENDERERS, task
list with state badges, cancel / retry. The store applies bridge messages
once per animation frame; transcripts over 300 rows are virtualized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ng; theme screenshots

test/webview/stream.mjs runs under the real CSP: 5,000 streamed deltas with
no long task (1x and 4x CPU), keyboard-only actions, every item kind,
virtualization of 1,000 tool calls. Screenshots render the stream in all
five themes. Syntax colors get Light+ fallbacks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SaketMunda
SaketMunda merged commit 7ea3bed into master Oct 10, 2026
1 check passed
@SaketMunda
SaketMunda deleted the mod/UI-3-task-stream branch October 10, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant