Kimmy's Skills

orbit — Terminal + Web Requirements

Source: ../terminal.html · Surface: TUI + web dashboard · Mode: Greenfield · Case 01 Purpose: prove a host-owned terminal surface and a web surface can share vocabulary without sharing tokens.

1. Problem and context

Who: developers running an agent in a terminal, plus the same sessions reviewed in a browser.

Jobs: start a task, watch tool calls, approve or deny actions, resume work later.

Constraints: the terminal emulator owns background, foreground, and the ANSI palette. The app controls roles, weight, and layout only. The TUI and the web app share one vocabulary, not one token set.

2. Scope and sharing boundary

Shared (declared): the term table — session, turn, tool call, permission, plan, checkpoint. One action keeps one word across both surfaces.

Not shared: tokens, components, and layout. The TUI never references a web token. The drift check must fail on an undeclared cross-surface reference.

3. Principles

Rule Rationale
Roles, not values The host palette cannot be read or set; naming an RGB value would be a lie the app cannot keep.
Color is never the only carrier Every colored state also carries a word or glyph, so a failed or overridden ANSI role cannot hide meaning.
High contrast is the default foreground plus weight No ANSI role is legible on both light and dark hosts; “brighter color” cannot be the escape hatch.
The cell is the layout unit Gaps, indents, truncation, and status collapse are counted in cells, never in pixels.
Surfaces stay decoupled at the token layer A web theme choice that reached the TUI once produced dark text on a dark terminal; the boundary is now a checked rule.

4. Experience requirements

TUI scene

Monochrome fallback

Surface isolation

5. Visual requirements

Color roles

TUI tokens are roles. The showcase uses this reference palette; measurement against it is advisory:

Role Dark host Light host Monochrome
cyan #2ad4d4 #0e6f6f #ffffff
green #4ec46a #2f7d32 #ffffff
yellow #d9b04a #7a5c00 #ffffff
red #f06a6a #a3231c #ffffff
blue #6f8ff0 #2743c9 #ffffff
magenta #d47adb #7c2483 #ffffff

Typography

Glyphs

Meaning Primary ASCII fallback Requirement
running ⠿ * Braille spinner; frozen under reduced motion.
done ✓ ok Word form survives fonts without the glyph.
failed ✗ x Always paired with the failing check.
pending ◌ .. Distinct from dim text alone.
needs attention ◆ ! Used for permission and plan state.

6. Components and states

7. Motion and accessibility

8. Verification requirements

9. Non-goals

10. Open questions