Consolidates the personal dsh-tui customizations (module split into components/session/extension, prompt template + running-glyph indicator, copyable transcript, tool-card headers, timing placement, XML tool output, status/footer rework) and ports upstream's model reasoning-effort selector (Shift+Tab effort cycling, effort-aware /model, footer, and /status) onto the personal module layout.
1.8 KiB
Agent Note: The prompt context combines directory and branch
Status: implemented
English | 中文
Problem
The idle prompt context rendered the working directory and git:<branch> as separate segments. In task worktrees, the directory can already identify the checkout, while the prefixed branch segment consumed additional horizontal space and was discarded independently on narrower terminals.
Decision
- The prompt context renders the working directory and available Git branch as one workspace label:
<directory> (<branch>). - The directory remains bold and accented; the parenthesized branch remains muted.
- The combined workspace label has the highest retention priority and is clipped as one segment when it exceeds the terminal width.
- Outside a Git worktree or on detached HEAD, the label remains the directory alone.
Alternatives considered
Keep git:<branch> as a separate segment. Rejected: the prefix and separator use more columns without adding meaning in this context.
Show only the branch. Rejected: the session working directory determines where tools operate and remains the primary prompt context.
Derive a special worktree root label. Rejected: the existing formatted directory and Git branch already provide the two relevant facts without adding repository-layout assumptions.
Consequences
- A typical checkout renders as
~/git/tui-staging (tui-staging). - Narrow terminals retain or clip directory and branch together instead of dropping the branch independently.
- Embedding-provided
TuiRuntime.formatCwdlabels compose with the branch in the same form.
Testing
packages/ui/tui/tests/tui.spec.ts pins home, absolute, formatted, and narrow workspace labels. Package-local and runnable-example TUI snapshots verify the assembled prompt context.