Release Date: January 13, 2026 Release Type: Patch Release (Bug Fixes + Architecture Improvement)
This patch release fixes several bugs discovered during alpha testing and introduces a foundational architecture improvement for identity handling. The fixes address chat persistence, standup routing, and unified request context management.
Key improvements in this release:
/standup command correctly routes to interactive handlerRequestContext model provides unified user/session handling (ADR-051)Problem: Conversation history was lost on page refresh - users had to manually reload their conversation.
Fix: Chat now automatically loads the current conversation on page refresh (693ae13b).
Problem: The /standup command and portfolio onboarding were conflicting, causing routing issues.
Fix: Explicit /standup command now correctly routes to the interactive StandupConversationHandler, while greeting-based onboarding triggers PortfolioOnboardingHandler (f666884a).
Problem: User context service wasn’t connecting to database projects properly.
Fix: Connected UserContextService to database projects for proper user context retrieval (c7d58927).
Problem: Clicking a conversation in the sidebar didn’t sync with the chat input.
Fix: Chat input now correctly syncs with sidebar conversation selection (90f39287).
Problem: Conversation history sidebar wasn’t correctly switching between conversations.
Fix: Sidebar now properly switches conversations and loads corresponding history (faf305c7).
Problem: The codebase had 14 different ID concepts with type inconsistencies - user_id varied between UUID and string, and session_id was overloaded for three different purposes.
Solution: Introduced RequestContext - a single, immutable context object that serves as the source of truth for identity:
@dataclass(frozen=True)
class RequestContext:
user_id: UUID # Authenticated user's database PK
conversation_id: UUID # Database PK for conversation record
request_id: UUID # Unique per-request for tracing
user_email: str # User's email for logging
timestamp: datetime # Request timestamp (UTC)
workspace_id: Optional[UUID] = None # Future multi-tenant
Implementation: 4-phase migration completed:
RequestContext model added with factory method (6ee40118)f18497d3)IntentService accepts context parameter (46cfec51)e46976c2)Benefits:
=============== 1705 passed, 26 skipped ================
RequestContextsession_id/user_id parameters still work| Issue | Type | Description |
|---|---|---|
| #583 | Bug | Chat persistence on page refresh |
| #585 | Bug | Standup/Portfolio routing conflict |
| #584 | Architecture | Unified identity model (ADR-051) |
| #582 | Bug | UserContextService database connection |
| #581 | Bug | Chat sidebar sync |
| #574 | Bug | Conversation history switching |
RequestContext in other routes/servicesFull Changelog: v0.8.4…v0.8.4.1