Add independent conversation-driven research offers #304
- KC
## Summary
Turn ordinary Chat investigation proposals and information gaps into source-backed research offers, independently of decision classification.
- Give research its own Jev classifier, durable queue, diagnostics, and retries; remove `research_need` from decision triage. - Synthesize grounded briefs in isolated `research-brief@1` workers, with source-excerpt fallback when synthesis is unavailable. - Add live collaborative brief editing, sourced additions, shared dismissal, topic reuse, and follow-up offers. - Make Start research seal the latest server-accepted brief and deliver one stable, offer-scoped request through the existing research and child-publication workflow. - Preserve historical analyses and pricing offers through versioned restoration.
## User experience
An investigation proposal can produce a Chat card before any decision or candidate options exist. Writers can edit the shared brief, start research, or dismiss it. Relevant discussion updates untouched briefs; after human editing, new material appears as optional additions. The card moves to its latest contributing message while retaining its identity and editor state.
The feature remains behind `CONVERSATION_PLAN=on`. Jev uses the existing `JEV_API_KEY`, `JEV_MODEL`, and `JEV_TIMEOUT_MS`; synthesis and execution respect the existing harness and background-job settings.
## Review structure
Eight commits correspond to the agreed milestones: contracts/migration, independent classification, opportunity lifecycle, brief synthesis, collaborative drafts, request acceptance/delivery, Chat UI, and verification/documentation.
See [Research offers from Chat](docs/conversation-research.md) for behavior, persistence, configuration, and verification details.
## Validation
- [x] 3,688 unit/domain tests passed; 3 PostgreSQL-only guards skipped in that run. - [x] 72 PostgreSQL tests passed, including fresh-process reconstruction; reran reconstruction after the final persistence fix. - [x] 26 application browser checks passed; reran the 3 new end-to-end scenarios after the final fix. - [x] 13 component-browser checks passed, including concurrent editing, focus/selection retention, and IME input during relocation. - [x] Type checks, repository CI, client build, and relative documentation links passed. - [x] Live `jev-1.13.0` checks covered 16 initial-message cases and a four-message offer lifecycle. - [ ] Authenticated PR-preview smoke test with the real deployed app.
- KC
Docker packaging fix pushed in b002acb05ba5dad0a034cb42efeb05f0db658fa7: include the new draft workspace in dependency installation and copy its production dependencies into the runtime image.
Verification: - Local production image build and runtime import smoke test passed. - GitHub CI is green: validation/tests, container build, and E2E (332 passed, 3 skipped).
Authenticated preview testing is still pending. Coolify has not posted a ready announcement or deployment record for this PR, so no preview authentication or sandbox mutations have been performed.
lavaman131referenced this in [Design] Rebuild the workflow run card with assistant-ui Elements #307last month on GitHub
lavaman131referenced this in [Design] Replace the composer @ mention picker with assistant-ui mentions #308last month on GitHub
lavaman131referenced this in [Design] Conversation controls with assistant-ui Elements: message queue, stopped run, error state #309last month on GitHub
lavaman131referenced this in [Design] Research and references with assistant-ui Elements #310last month on GitHub
lavaman131referenced this in [Design] Decisions display with assistant-ui Elements (option list, question flow) #311last month on GitHub
Krzysztof-Cieslakmerged c493bce56279last month on GitHub
Krzysztof-Cieslakhead-ref-deletedlast month on GitHub