Skip to content

feat: lowercase model labels, fast-mode segment, multi-row rendering; pin deps exactly - #10

Merged
andrei-hasna merged 2 commits into
mainfrom
feat/statusline-rows-fastmode-lowercase
Jul 28, 2026
Merged

feat: lowercase model labels, fast-mode segment, multi-row rendering; pin deps exactly#10
andrei-hasna merged 2 commits into
mainfrom
feat/statusline-rows-fastmode-lowercase

Conversation

@andrei-hasna

@andrei-hasna andrei-hasna commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What

  • model-with-reasoning lowercases the host display label and effort: "Fable 5" + "High" → fable 5 (high)
  • New fast-mode segment: renders fast when the session config dir's settings.json has fastMode: true (resolved per-process via CLAUDE_CONFIG_DIR, so concurrent sessions under different profiles stay independent)
  • New newline segment: starts a new status row (Claude Code renders each stdout line as its own row); empty rows are dropped
  • fix(deps): pin @modelcontextprotocol/sdk@1.12.1, zod@3.25.76, typescript@5.9.3 exactly. bun.lock is gitignored, so CI resolves fresh from caret ranges every run — the caret'd SDK drifted to 1.29.0 which nests zod 4, and under TS 5.9 the dual-zod tree fails typecheck on server.tool() registrations. Exact pins restore a single-zod, deterministic tree.

Tests

TDD: new tests for lowercase rendering, fast-mode (on/off/missing/malformed settings, env-scoped), newline registry entry, and multi-row rendering incl. empty-row dropping. Full bun run check (typecheck + 116 tests + build) green locally under TS 5.9.3.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

- model-with-reasoning lowercases the host's display label and the effort
  level, so "Fable 5" + "High" render as "fable 5 (high)" and match the
  id-derived form
- new fast-mode segment shows "fast" when the session config dir's
  settings.json has fastMode: true — read per-process via CLAUDE_CONFIG_DIR
  so concurrent sessions under different profiles stay independent
- new newline segment starts a new status row; the renderer drops rows
  that end up empty (hosts render each stdout line as its own row)
The caret range resolved sdk 1.29.0, which nests its own zod 4 copy; under
typescript 5.9 the two zod instances make server.tool() registrations fail
typecheck. Pin sdk 1.12.1 (zod ^3 era, no nested copy) and zod 3.25.76 so
the tree has a single zod and typecheck is deterministic.
@andrei-hasna
andrei-hasna merged commit ce386f5 into main Jul 28, 2026
2 checks passed
@andrei-hasna
andrei-hasna deleted the feat/statusline-rows-fastmode-lowercase branch July 28, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant