AltimateAI / AltimateAI/altimate-code
feat(tui): phase labels for non-bootstrap phases (LLM call, schema diff, review lanes)
- Dominant language
- TypeScript
- Stars
- 811
- Forks
- 134
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 50
Description
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.
Contributor guide
Research direction
Start with packages/tui/src/util/phase-label.ts to understand the existing bootstrap mappings and fallback behavior. Then inspect the review pipeline and the latency-instrumentation trace spans to identify meaningful non-bootstrap groupings. Done means the selected review phases have accurate labels grounded in observed spans and the labels no longer use the generic idle wording during those workloads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100