Originally created by: Akarsh-Hegde
Maintenance finding from the PR [#198] review: the two title-stamping sites had diverged.
indexer::stamp_title — trimmed, dropped empty, capped at 200segment::parse_session_segments — only cappedA future change to the cap or filtering rules would silently apply to only one path.
Extract segment::clean_title(raw) -> Option<String> (trim → drop-if-empty → cap 200 chars, char-safe) and call it from both sites. The only behavioural change is that the Claude-JSONL path now also trims and drops blank titles (previously cap-only) — which matches the source-adapter path's existing behaviour.
Unit-tested (clean_title_trims_filters_and_caps, incl. multibyte cap safety).
Surfaced while addressing [#198]'s review; it lives in
main's coding-agent code, not in [#198]'s changes, so it's split out here.
cargo test (clean_title + existing title tests pass)cargo clippy -- -D warnings, cargo fmt --check🤖 Generated with Claude Code
Ticket changed by: Akarsh-Hegde
Originally posted by: adityaharishch
🎉 This PR is included in version 1.32.0 🎉
The release is available on:
v1.32.0Your semantic-release bot 📦🚀