Project Overview

System Architecture

graph TD
    A[Twitch IRC] --> B(Bridge Bot)
    B --> C{Event Bus}
    C --> D[ChatConsumer]
    D --> E[DurableStore]
    D --> F[Retrieval Service]
    D --> G[LLM Pipeline]
    G --> H[OpenAI Agent Chat]
    G --> I[Validator]
    D --> J[Triggers]
    D --> K[HTTP API Routers]
    D --> L[chat.send]
    L --> B
    E --> M[(DB / Memory Fallback)]

Functional Requirements

Technical Specifications

flowchart TD
    msg[Incoming chat.message] --> store[Store in ops.messages]
    store --> ingest[Buffer & Extractor]
    ingest --> chunks[Write ops.chat_chunks]
    ingest --> events[Write ops.chat_events]
    msg --> ctx[Build Context]
    ctx --> retr[Hybrid Retrieval]
    retr --> s1[Stage1 Scout]
    s1 --> tools{Wants Tools?}
    tools -- yes --> exec[Execute Tool & Append]
    tools -- no --> s2[Stage2 Finalizer]
    exec --> s1
    s1 --> s2
    s2 --> val[Validator]
    val --> out[Single-line reply]
erDiagram
    ops_messages {
        uuid id
        text text
        jsonb meta
        varchar channel_id
        timestamptz ts
    }
    ops_chat_chunks {
        uuid id
        varchar channel_id
        varchar doc_id
        uuid message_id
        text text
        vector embedding
        jsonb meta
        timestamptz ts_start_utc
        timestamptz ts_end_utc
    }
    ops_chat_summaries {
        bigint id
        varchar channel_id
        text summary_text
        vector emb
        jsonb meta
    }
    ops_chat_events {
        bigint id
        varchar channel_id
        timestamptz ts_utc
        varchar kind
        varchar actor
        varchar target
        jsonb payload
        text text
        vector emb
    }
    ops_triggers {
        uuid id
        varchar name
        boolean enabled
        int version
        json rule
    }
    ops_messages ||--o{ ops_chat_chunks : message_id

Quality Assessment

Operations Appendix

Future Recommendations