LangGraph · trace
SRS generator
Six-layer generate → trace loop
Retrieve tickets, wiki pages, and indexed docs, then generate a structured software requirements spec. Features become tickets, gaps close the loop, traceability stays read-only.
- Python
- FastAPI
- LangGraph
- Chroma
- React
GENERATE
StateGraph with retrieval + two LLM calls
JOBS
Daemon threads, SSE logs, cancel events
DOWNSTREAM
Feature tickets + gap closed loop
TRACE
Read-only matrix over artifacts on disk
01The problem
Requirements written from memory drift from Jira and Confluence. Gap analysis done in a spreadsheet does not feed the generator. Traceability is a slide.
02What we designed
Six layers. The UI never talks to the graph. HTTP routers talk to a pipeline facade. The facade starts a daemon thread, streams logs over SSE, and archives every generation. Layer 4 turns features into ticket payloads. Layer 5 compares those features to live tickets and can create missing work or regenerate the spec. Layer 6 only reads what already landed on disk.
03What I owned
The generation graph (query → ticket retrieve → wiki retrieve → vector retrieve → two-call write), the threading/status model, feedback gating so chat does not re-invoke the graph for small talk, and the gap closed loop.