Skip to content

fix(ai, history): a Claude session is titled by the name Claude Code gave it (its ai-title line) - #588

Merged
genesiscz merged 2 commits into
masterfrom
fix/2026-10-25-claude-session-title
Oct 26, 2026
Merged

genesiscz merged 2 commits into
masterfrom
fix/2026-10-25-claude-session-title

Conversation

@genesiscz

Copy link
Copy Markdown
Owner

A Claude session is titled by the name Claude Code gave it (its ai-title line, the one /resume shows) when the transcript has one, instead of the first prompt.

  • b2b7905 fix(ai, history): a Claude session is titled by the name Claude Code gave it (its ai-title line, shown in /resume and the terminal tab) instead of its first prompt, so the widget lists "Kalendora hotfix research" under that name; a /rename still wins

Gates on this branch (clean worktree, 2026-10-25): bun scripts/git/check-commits.ts, root tsc --noEmit, biome on the changed files, the related tests, and scripts/ci/placeholder-check.sh. Tests: src/utils/agent-sessions/readers/claude.test.ts 15 pass.

Split out of the unified branch (#507); each commit is a cherry-pick of its unified original.

@eve-bot-lovinka

eve-bot-lovinka Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

🐉 eve review — ⏭️ superseded

→ run

  • Queued 01:06:52Z
  • Reading diff — 2 files
  • Building repo map
  • Analyzing (find → verify)
  • Posting review
  • Done 01:16:06Z (9m 14s)

superseded — head moved to 0cb0967 during prep; the queued review covers it

run wrun_01M5TVY3069NW6C8PZDAMGWCSP

Previous runs (1)
run head outcome findings took
1 b2b7905 ✅ APPROVE 1 8m 32s

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Next included review available in 10 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 3 included reviews currently available. Your 43 included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between b70571c and 0cb0967.

Files selected for processing: 2
  • src/utils/agent-sessions/readers/claude.test.ts
  • src/utils/agent-sessions/readers/claude.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@eve-bot-lovinka eve-bot-lovinka Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐉 eve review — 🟡 Review comments

b2b7905 · 1 actionable finding · reviewed by find codex/gpt-6.1-sol, verify codex/gpt-6-luna · view run ↗

Severity Count
🟡 Medium 1

Blast radius

  • createClaudeHistoryOperations (~) → 5 dependent(s) outside this PR: src/utils/agent-sessions/compact-readers.ts, src/utils/agent-sessions/service.test.ts, src/utils/agent-sessions/provider-extensibility.test.ts

ℹ️ Claims vs diff — 4 claims could not be checked from the diff (c1, c2, c3, c4).

Comment thread src/utils/agent-sessions/readers/claude.ts
genesiscz added a commit that referenced this pull request Oct 26, 2026
@genesiscz

Copy link
Copy Markdown
Owner Author

Review fixes 2026-10-26 02:06 from GPT-6.1 Sol judged by Claude Opus 5.5 (fable-judge)

Round 1. 1 open thread (eve 1, CodeRabbit 0). 1 fixed, 0 rejected, 0 already done. Full PR diff self-review found no additional defects. Fixed in e811a36.

Include ai-title text in searchable record entries (eve-bot-lovinka)

  • Context: The ai-title row updated summary metadata but emitted no searchable entries and had no system role. Claude searches scan source entries without metadata matching, so a generated title absent from the prompt could not be found. The expanded reviewer finding labels this Medium.
  • Commit(s): e811a3682
  • Verdict: accepted
  • Code before:
    if (row.type === "queue-operation" || row.type === "summary" || row.type === "custom-title") {
        const text =
            row.type === "summary"
                ? asText(row.summary)
  • Code after:
            const text =
                row.type === "summary" || row.type === "ai-title"
                    ? autoTitleOf(row)
                    : row.type === "custom-title"
                      ? asText(row.customTitle)
                      : asText(row.content);
  • How was this fixed: The Claude source reader now classifies ai-title rows as system records and emits their aiTitle text as a system entry through the shared autoTitleOf helper. Parser version advances from 6 to 7 to invalidate cached search data. The existing claude.test.ts gains a source-search regression whose generated title is absent from the user prompt, plus assertions for the matched locator, first prompt, selected-record hydration, metadata and system roles. No files outside the original PR diff were required. Post-fix verification: not run (the lead verifies at integration). Before the lead prohibited tests, the regression ran against the unfixed parser and failed with undefined matchedLocators instead of jsonl:2; the other 15 tests passed.
  • Confidence: 95%

Threads: t1 accepted

…gave it (its ai-title line, shown in /resume and the terminal tab) instead of its first prompt, so the widget lists "Kalendora hotfix research" under that name; a /rename still wins
@genesiscz
genesiscz force-pushed the fix/2026-10-25-claude-session-title branch from e811a36 to 0cb0967 Compare October 26, 2026 01:14
@genesiscz
genesiscz merged commit 0cb0967 into master Oct 26, 2026
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