Skip to content

feat(tui): phase labels for non-bootstrap phases (LLM call, schema diff, review lanes) #1036

Description

@sahrizvi

Deferred from the v0.9.3 pre-release review.

Current behavior

packages/tui/src/util/phase-label.ts maps five bootstrap.* phase names to human labels ("Loading session...", "Discovering tools...", etc.). Once bootstrap completes, every subsequent phase name falls through to "Thinking..." — the same default the idle spinner uses.

Gap

For long-running dbt review runs (schema diffing, LLM lane, tool listing), the label stays on "Thinking..." for the whole run — no signal that the tool is actively doing work versus stalled. This reduces the value of the bootstrap phase-label UX added in this release.

Proposal

Extend the phase-label map with per-workload labels (e.g. review.diff, review.equivalence, review.ai-lane) once the latency-instrumentation from the bootstrap trace spans provides enough signal to pick meaningful groupings. Start with the review pipeline since it has the highest wall-clock and the loudest complaint surface.

Why deferred

The bootstrap instrumentation just landed. Picking non-bootstrap phase groupings without the latency data risks labels that don't match the actual work — a follow-up when we can point at real spans.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions