SurfSense/surfsense_backend/app
CREDO23 b9937cf4b1 refactor(chat): cut live chat streaming over to flows orchestrators (cutover)
Flip the live callers (new_chat_routes + gateway/agent_invoke) from the
legacy monolithic app.tasks.chat.stream_new_chat to the side-by-side
app.tasks.chat.streaming.flows orchestrators.

Adds a byte-for-byte differential parity test driving BOTH implementations
on identical, fully-deterministic glue inputs (frozen time/uuid, stubbed
LLM/persistence/agent seams). All glue paths are byte-identical:
  * new: auto-pin failure, LLM-load failure, persist-user fail,
    persist-assistant fail (full initial-frame ordering + handshake),
    pre-stream exception (top-level except path)
  * resume: persist-assistant fail

The differential test also surfaced one INTENTIONAL divergence: on a resume
turn whose auto-pin / LLM-load fails, the monolith crashes with
UnboundLocalError (_resume_premium_request_id read in finally before its
post-early-return definition); the flows version emits a clean terminal
error. The flows path is therefore byte-identical or strictly more correct.

The agent-content stream itself is shared, unforkable code
(stream_output -> EventRelay) so it cannot diverge.

Monolith + old parity test deletion follows in a separate commit.
2026-06-04 14:24:18 +02:00
..
agents docs(agents): refresh comments that referenced the deleted single-agent stack (bucket B6) 2026-06-04 13:47:10 +02:00
automations refactor(agents): move checkpointer + mention_resolver to app/agents/shared (slice 5b) 2026-06-04 12:52:54 +02:00
config refactor(config): remove dead MULTI_AGENT_CHAT_ENABLED flag (bucket B5) 2026-06-04 13:44:02 +02:00
connectors refactor(jira): remove dead legacy indexing and write tools (mcp-only now) 2026-06-02 16:38:00 +02:00
etl_pipeline feat: enhance task management and timeout configurations in multi-agent chat 2026-05-27 14:58:10 -07:00
event_bus refactor(event_bus): wire catalog and events into package, rename builtin to events 2026-05-29 22:15:18 +02:00
file_storage feat(file-storage): add listing and download routes 2026-06-02 16:10:44 +02:00
gateway refactor(chat): cut live chat streaming over to flows orchestrators (cutover) 2026-06-04 14:24:18 +02:00
indexing_pipeline feat(pipeline): enrich ETL and indexing failure telemetry 2026-05-22 17:49:46 +05:30
notifications refactor: use transform helpers in notifications API 2026-06-03 21:53:03 +02:00
observability feat(gateway): add worker and webhook metrics 2026-05-28 04:44:28 +05:30
prompts feat: add PDF preview and export functionality for Typst-based reports, enhance report content handling 2026-04-15 21:11:27 +05:30
retriever feat(retriever): instrument knowledge base search 2026-05-21 23:03:31 +05:30
routes refactor(chat): cut live chat streaming over to flows orchestrators (cutover) 2026-06-04 14:24:18 +02:00
schemas refactor: remove search_surfsense_docs tool and related references 2026-05-28 22:35:14 -07:00
services refactor(agents): move tools package to app/agents/shared (slice 6) 2026-06-04 13:11:56 +02:00
tasks refactor(agents): hardwire multi-agent as the only chat factory (bucket B1) 2026-06-04 13:35:38 +02:00
templates feat: update report generation and export capabilities to support multiple formats (PDF, DOCX, HTML, LaTeX, EPUB, ODT, plain text) across documentation and backend 2026-03-09 18:41:21 -07:00
utils refactor: remove search_surfsense_docs tool and related references 2026-05-28 22:35:14 -07:00
__init__.py feat: SurfSense v0.0.6 init 2025-03-14 18:53:14 -07:00
app.py refactor(agents): move checkpointer + mention_resolver to app/agents/shared (slice 5b) 2026-06-04 12:52:54 +02:00
celery_app.py Merge remote-tracking branch 'upstream/dev' into feat/whatsapp-gateway-integration 2026-06-02 00:29:32 +05:30
db.py refactor: move Notification model into notifications module 2026-06-03 18:04:47 +02:00
exceptions.py feat: add processing mode support for document uploads and ETL pipeline, improded error handling ux 2026-04-14 21:26:00 -07:00
rate_limiter.py try: ip fix for cludflare 2026-04-16 02:13:52 -07:00
session_events.py refactor: anonymous/free chat experience 2026-05-31 15:58:21 -07:00
users.py Seed default prompts on registration and for existing users 2026-03-31 18:12:09 +02:00