Skip to content

feat(sessions): support automatic conversation naming - #1184

Draft
wen2zhou wants to merge 2 commits into
aipoch:mainfrom
wen2zhou:feat/auto-session-naming
Draft

feat(sessions): support automatic conversation naming#1184
wen2zhou wants to merge 2 commits into
aipoch:mainfrom
wen2zhou:feat/auto-session-naming

Conversation

@wen2zhou

Copy link
Copy Markdown
Contributor

Problem

New conversations keep prompt-derived fallback labels instead of receiving concise titles consistently. Provider-native titles can also arrive late, race Session persistence, or be unavailable, while Claude title metadata reads can delay an otherwise completed turn.

Proposed change

  • Request automatic naming only for the first visible user turn.
  • Prefer framework-native titles from Claude Code and OpenCode.
  • Preserve the restricted, tool-less LLM title generator as a fallback after a short framework grace period.
  • Attribute naming usage to the first Conversation Turn and persist title updates atomically across main, preload, renderer, task, and web-service paths.
  • Bound Claude SDK title reads to 250 ms so title metadata cannot hold prompt completion open.
  • Serialize renderer title mutations through the existing ordered Session persistence seam.

Scope and non-goals

  • This changes Session naming, naming-usage attribution, and persistence only.
  • It does not change the visible workspace layout or introduce database schema changes.
  • It does not remove the app-generated LLM fallback; providers without a timely native title still receive an automatic title.

Acceptance criteria and validation

All listed checks ran after the final material edit.

  • Cross-process types and contracts → npm run typecheck → passed.
  • Repository lint rules → npm run lint → passed with 0 errors; 11 pre-existing warnings outside this change.
  • Portable ACP, persistence, task, renderer, preload, shared, and web behavior → npm test → 1,001 files and 14,640 tests passed; 15 files and 209 tests skipped.
  • Claude ACP patch integrity → npm run check:claude-acp-patch → passed.
  • Clean package patch applicability → reinstall @agentclientprotocol/claude-agent-acp@0.60.0, then npx patch-package → passed.
  • Whitespace integrity → git diff --check → passed.
  • Independent final-diff review → no P1/P2 correctness or maintainability findings.

UI E2E was excluded because the change does not modify visual structure or interaction controls. The remaining uncovered risk is real-provider timing outside the deterministic Claude/OpenCode adapter tests.

Review focus

  • The framework-title versus app-generated fallback race and usage accounting.
  • First-turn identity preservation when a framework title arrives after later turns.
  • Session title precedence and ordered persistence under concurrent saves.
  • Maintenance cost of the version-pinned Claude ACP patch.

@github-actions github-actions Bot added the enhancement New feature or request label Aug 13, 2026
@wen2zhou
wen2zhou force-pushed the feat/auto-session-naming branch from 53172cc to f79055d Compare August 19, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant