Skip to main content

Pattern · Composites

Background Task Panel

Application recipe composed from public TermRock building blocks; domain state and effects remain host-owned.

Kind
widget
Input
interactive
Canvas
120×40

Live preview

Loading terminal preview.

Static terminal poster. Choose Run live to start the Rust demo.

Ghosttybackground-tasks/mixed-statuses
Loading terminal poster…
○ loading posterNo input — rendered state only
Background Task Panel · exact mounted Rust story

01 · Purpose

What it is for

Application recipe composed from public TermRock building blocks; domain state and effects remain host-owned.

Best fit: Composites · composite · List · Panel · TerminalOutput

02 · Behavior

What the mounted story proves

  1. 01

    BackgroundTaskPanel

    Representative 120×40 terminal state.

  2. 02

    Passive paint

    No keyboard or pointer action is claimed by this representative story.

  3. 03

    Evidence stays explicit

    12 covered · 4 partial · 1 missing axes.

03 · Implement

Install, then start from exact code

Install

cargo add termrock --git https://github.com/tailrocks/termrock.git --rev 5283c2acf9154d0cfcd37b1ffe821c00faf90ea2

Add TermRock once. Keep domain effects in the host application.

Minimal implementation

Exact Rust setup used by background-tasks/mixed-statuses.

Open to load code.

04 · Adapt

Variants and composition

Public building blocks

List · Panel · TerminalOutput

Supporting types

ListRow · NotificationItem · RowRole · SemanticStatus · StatefulWidget · TerminalCommandMeta · TerminalLine · TerminalRunStatus · TerminalStream · ToastPriority · Widget

05 · Reference

API, tokens, accessibility

API

BackgroundTaskPanelOpen source ↗

Tokens

DesignSystemInspect exact story code for roles and capability projection.

Accessibility

Input contract mountedNo input claim in the representative story.

Contract

Evidence in progress12/23 axes covered

06 · Go deeper

Advanced guidance

Authored implementation guidance

Multi-job supervisor UI: list + live output detail, reconnect/lost states, bounded scrollback with drop banners. Outcomes request stop/restart/detach only.

When to use / when not

Use BackgroundTaskPanelPrefer
Detached builds, watchers, servers—
OS process browserProcessTable
Single agent shell cardTerminalRunCard
Agent task inventoryTaskRail

Output history

BackgroundOutputBuffer caps lines (BACKGROUND_TASK_DEFAULT_HISTORY); paints dropped-line indicator when eviction occurs.

Keys

j/k · enter open · x stop · r restart · d detach · f follow · Shift+C clear done · esc close

Ownership boundary

TermRock owns reusable terminal rendering and interaction state. The host owns domain data, policy, persistence, authorization, and side effects.

Evidence status

12 covered, 4 partial, and 1 missing contract axes. Missing evidence is not a behavior claim.