* feat(core): pin first quality summary for stable session titles When a session's first non-fallback summary is obtained, persist it to metadata as pinnedSummary. This prevents the dashboard title from drifting as the agent generates new summaries each turn. Changes: - Add pinnedSummary to SessionMetadata type - Serialize/deserialize in writeMetadata/readMetadata - Pin in lifecycle manager's checkSession (correct write path) - Propagate through restore path Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(web): stable session titles via unified getSessionTitle Reorder title fallback: PR > issue > branch > summary (was: summary > issue > branch). Replace inline getSessionHeadline with shared getSessionTitle in both SessionDetail and page.tsx for consistent behavior across all components. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * test: coverage for pinnedSummary and title fallback chain 9 new tests: - 3 serialize tests: pinnedSummary priority over agent/metadata summary - 5 lifecycle-manager tests: pinning logic guards and error handling - 1 metadata test: pinnedSummary serialization in writeMetadata Updated existing tests to match new title fallback order. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * test: fix mobile title expectations * fix(web): use pinnedSummary only for title selection, not dashboard.summary Previously, pinnedSummary was assigned to dashboard.summary in sessionToDashboard(), causing two problems: 1. enrichSessionAgentSummary() never fetched newer summaries because dashboard.summary was already set 2. Every UI surface rendering session.summary showed the stale pinned value instead of live agent output Fix: pinnedSummary is now read only by getSessionTitle() via session.metadata["pinnedSummary"], keeping title stable without freezing the live summary field. dashboard.summary always reflects the current agentInfo or metadata summary. Addresses review comment on PR #946. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| e2e | ||
| public | ||
| screenshots | ||
| server | ||
| src | ||
| .env.local.example | ||
| .gitignore | ||
| CHANGELOG.md | ||
| next-env.d.ts | ||
| next.config.js | ||
| package.json | ||
| postcss.config.mjs | ||
| tsconfig.json | ||
| tsconfig.server.json | ||
| vitest.config.ts | ||