AI BCCS · Pipeline

env

Pipeline

Ask the memory — chat

Every message is grounded on its own: answers cite retrieved sources (POST /api/v1/chat/messages, sessions via /api/v1/chat/sessions), unsupported questions get the canonical insufficient-information reply, and follow-ups are resolved against this conversation. Each message runs at most two LLM calls — nothing fires automatically.

Views

The nine operational views (GET /api/v1/views/<name>), computed deterministically from the latest extraction of each message; rows open the message drill-in. "By Client/Vendor" groups the extracted company name as written — alias resolution lands with the domain service.

Extracted tasks

TaskCompanyOwnerDeadlineWaiting forRiskUrgency

From the latest AI extraction of each message, ordered overdue → soonest due → highest risk. Absent fields stay blank (never fabricated). Click a row for the source message.

Waiting on

Waiting onForCompanySinceRisk

Open waiting-for relationships from the latest extractions, oldest first. Click a row for the source message.

Recent decisions

Latest decision updates extracted from messages, newest first. Click a row for the source message.

Totals

Distributions

Processing status
Risk (latest extraction)
Urgency (latest extraction)
Review by category
Review by reason

Q&A activity

Grounded Q&A usage (from the qa_queries execution log): every answer cites sources; unsupported questions are refused.

Data completeness

Share of extracted records that carry each field. Absent values are left blank (never fabricated); ambiguous ones route to review.

Recent messages

SubjectSenderStatusStageExtractionRisk

How it works

Auto-refreshes every 5s. Asking a question is the page's only write (each question is logged). Data flows left→right through the stages above.