01 - Tailrocks Consumers
01 - Tailrocks Consumers
Shared terminal components are useful only if product ownership stays explicit. This chapter records the reuse rationale and future boundaries; it does not add another product to the extraction program.
Product map
| Product | Owns | Shared TUI need |
|---|---|---|
jackin❯ | AI-agent isolation, runtime selection, launch, orchestration, session control, and agent visibility | console/Capsule tabs, panels, trees, dialogs, status, input, terminal lifecycle, render conformance |
| Holla | detecting host/project context and presenting relevant commands/tasks | menu/list navigation, tabs, task states, bounded live output, hints, terminal restoration |
| Velnor | GitHub Actions-compatible self-hosted runner execution today; broader workflow engine only if future scope approves it | runner health, queued/running/completed jobs, step progress, bounded logs, errors |
| Parallax | OpenTelemetry ingest, debugging evidence, issues, traces, logs, metrics, and bounded context | optional interactive CLI navigation; its primary web UI remains separate |
| Future Tailrocks tools | their own domain state and commands | consistent components without importing another product |
Parallax describes CLI, API, and web clients over one canonical service in its research map. Velnor defines current and future ownership in its mission and vision. Holla's README defines an adaptive local command surface.
Current evidence
Holla currently uses Ratatui 0.30 and Crossterm 0.29 and directly implements alternate-screen/raw-mode lifecycle, tabs, key navigation, scrolling, status glyphs, and output panes. That overlap makes Holla a plausible future adopter, but this roadmap neither validates nor changes it.
Velnor has no Ratatui dependency today. Its current GitHub runner uses GitHub as the scheduling/operator UI, so shared-TUI work must wait for a concrete local runner-console workflow rather than prebuilding Velnor components.
Parallax references terminal applications as telemetry sources and remains web-first. It should adopt shared components only for a real interactive CLI. Do not reinterpret shared TUI as a reason to replace or wrap its web interface.
Integration boundary
The library is a normal Rust dependency:
consumer Model/Message/Effect
|
v
termrock state + render contracts
|
v
Ratatui / CrosstermIt is not:
- a shared daemon or IPC channel;
- a command registry for all Tailrocks products;
- a common config/persistence format;
- a secret resolver;
- a telemetry SDK;
- a cross-product domain model.
Products integrate with one another through commands, stable APIs, and OpenTelemetry when needed. Sharing UI mechanics does not create runtime dependencies among them.
Adoption boundary
jackin❯is the donor, compatibility oracle, and only consumer migrated by this roadmap.- Holla, Velnor, Parallax, TableRock, and later products adopt only through separately scoped work when they have a concrete interactive workflow.
- No checkout, patch, build, smoke test, compatibility claim, or acceptance gate in another product repository is required to complete this roadmap.
The public API remains neutral through product-free types, generic stories, compile-checked architecture examples, and jackin❯ parity. It does not prebuild a database grid, CI job tree, trace browser, or command menu for hypothetical consumers.
Missing widgets are accepted at adoption time: the extraction ships only the existing donor set, and consumer needs beyond it — trees, progress indicators, data tables, command palettes, multi-line editors — are deliberate post-extraction roadmap work under the two-consumer rule, never extraction blockers.