Commit 8dddcd3
feat(tui): welcome screen shows model, provider, daemon, familiar, goal
Closes the "first-screen experience" gap from the TUI audit. A user
landing on the welcome screen previously saw only the mascot card on
the left and "Tips for getting started" + "Recent activity" (always
empty) on the right. There was no way to tell at a glance:
* which model the session would use
* which provider is active
* whether the Coven daemon is reachable
* which familiar is active and how to switch it
* whether an active /goal is running
This commit adds a "Status" block in the right column of the welcome
box that surfaces all five. Daemon online/offline lights up in the
accent colour when reachable; otherwise it falls back to dark grey
("Daemon: offline"). Familiar line includes the discoverability hint
"(F2 to switch)" so users find the keyboard shortcut the audit
flagged as undiscoverable. The Goal row is omitted when no goal is
active so the layout stays compact.
Five new pure helpers cover the formatting:
welcome_model_label — prefers config override, falls back to
effective_model() default
welcome_provider_label — provider id or "anthropic" default
welcome_daemon_label — cheap socket-existence check via
DaemonClient::new() + is_online() (no RPC)
welcome_familiar_label — "Familiar: <id>" with kitty default
The small-terminal fallback (when area.height < 9 or width < 30) is
also upgraded: instead of showing only "Coven Code v0.0.13" it now
shows "Coven Code vX.Y · <model> · Daemon: online · Familiar: <id>"
on a single line, so even a 24×9 tmux pane carries the key signals.
Five new unit tests cover the formatters, including the daemon-label
test that accepts either online/offline depending on the test
machine (we never want to require live infra in CI).
cargo test --workspace: 1530 passing, 0 failing (+5 new). All four
verification gates pass clean: fmt, check, clippy -D warnings, test.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 11f381f commit 8dddcd3
1 file changed
Lines changed: 152 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1573 | 1573 | | |
1574 | 1574 | | |
1575 | 1575 | | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
1576 | 1616 | | |
1577 | 1617 | | |
1578 | 1618 | | |
1579 | 1619 | | |
1580 | 1620 | | |
1581 | 1621 | | |
1582 | | - | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
1583 | 1628 | | |
1584 | 1629 | | |
1585 | 1630 | | |
| |||
1591 | 1636 | | |
1592 | 1637 | | |
1593 | 1638 | | |
| 1639 | + | |
| 1640 | + | |
| 1641 | + | |
| 1642 | + | |
| 1643 | + | |
| 1644 | + | |
1594 | 1645 | | |
1595 | 1646 | | |
1596 | 1647 | | |
| |||
1710 | 1761 | | |
1711 | 1762 | | |
1712 | 1763 | | |
1713 | | - | |
| 1764 | + | |
1714 | 1765 | | |
1715 | 1766 | | |
| 1767 | + | |
| 1768 | + | |
| 1769 | + | |
| 1770 | + | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
1716 | 1775 | | |
1717 | | - | |
1718 | | - | |
| 1776 | + | |
| 1777 | + | |
1719 | 1778 | | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
1720 | 1805 | | |
1721 | 1806 | | |
1722 | 1807 | | |
| |||
3300 | 3385 | | |
3301 | 3386 | | |
3302 | 3387 | | |
| 3388 | + | |
| 3389 | + | |
| 3390 | + | |
| 3391 | + | |
| 3392 | + | |
| 3393 | + | |
| 3394 | + | |
| 3395 | + | |
| 3396 | + | |
| 3397 | + | |
| 3398 | + | |
| 3399 | + | |
| 3400 | + | |
| 3401 | + | |
| 3402 | + | |
| 3403 | + | |
| 3404 | + | |
| 3405 | + | |
| 3406 | + | |
| 3407 | + | |
| 3408 | + | |
| 3409 | + | |
| 3410 | + | |
| 3411 | + | |
| 3412 | + | |
| 3413 | + | |
| 3414 | + | |
| 3415 | + | |
| 3416 | + | |
| 3417 | + | |
| 3418 | + | |
| 3419 | + | |
| 3420 | + | |
| 3421 | + | |
| 3422 | + | |
| 3423 | + | |
| 3424 | + | |
| 3425 | + | |
| 3426 | + | |
| 3427 | + | |
| 3428 | + | |
| 3429 | + | |
| 3430 | + | |
| 3431 | + | |
| 3432 | + | |
| 3433 | + | |
| 3434 | + | |
| 3435 | + | |
| 3436 | + | |
| 3437 | + | |
| 3438 | + | |
| 3439 | + | |
| 3440 | + | |
| 3441 | + | |
| 3442 | + | |
| 3443 | + | |
| 3444 | + | |
| 3445 | + | |
| 3446 | + | |
| 3447 | + | |
| 3448 | + | |
| 3449 | + | |
| 3450 | + | |
0 commit comments