Config `width` was position #3 in the detection chain, overriding all
dynamic detection (ioctl, process tree, stty, etc). This meant the
statusline couldn't adapt to terminal/pane resizes.
Now config `width` serves two roles:
- Max cap on dynamically detected widths (prevents absurd widths)
- Fallback when all dynamic detection methods fail
Also adds:
- ioctl on stderr (works when stdout is piped)
- stdin JSON `terminal_width` field for Claude Code to pass width
- Distinct diagnostic sources: config_cap, config_fallback, stdin_json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1. cache: record diagnostic miss before early-return on modified()/duration_since() failure
2. dump-state: resolve all cache_dir template vars ({cache_version}, {config_hash})
3. config: remove dead breakpoint_hysteresis field from GlobalConfig (breakpoints.hysteresis is used)
4. config: align Rust Default cache_dir with defaults.json template
5. vcs: apply branch truncation in render_stale_cache (--no-shell path)
6. vcs: fix jj prefetch retry on already-failed command (flatten→unwrap_or_else)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- justify: gate DIM/RESET separator coloring on color_enabled param;
previously leaked ANSI escapes when --color=never or NO_COLOR was set
- vcs: apply branch name truncation per config (truncate.enabled,
truncate.max, truncate.style) for both git and jj renderers;
previously ignored truncate config causing long branch names to
overflow and trigger unnecessary priority drops
- flex: account for prefix/suffix overhead when computing context_bar
flex expansion width; previously double-applied apply_formatting
causing line to overshoot term_width when prefix/suffix configured
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- output_style: use MAGENTA color per PRD (was incorrectly DIM)
- vcs: pass project dir to jj exec (was None, causing wrong cwd)
- tools: singular "tool" when count is 1 (was always "tools")
- layout: wire up apply_formatting() in render pipeline (prefix,
suffix, color override, pad, align were completely dead code)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>