Master’s thesis
AI Documentation System
Master’s thesis system exploring repository ingestion, semantic retrieval, dependency graphs and automatic documentation generation.
- TypeScript
- Rust
- NestJS
- Qdrant
- RabbitMQ
- PostgreSQL
01From source to signal
Code enters once, then becomes useful in several ways.
Repository snapshots become normalized segments, vector context, dependency topology, detected API surfaces and grounded documentation. The public story stays focused on the platform contracts and quality gates.
- Snapshot-first ingest
- Hybrid retrieval
- On-demand repo graph
02Durable boundaries
AI work belongs inside a system, not beside one.
Queue contracts separate ingestion, embeddings, documentation generation and chat. That gives each worker a focused job and makes replay, failure handling and evaluation explicit.
- RabbitMQ contracts
- Source-tagged streaming
- Offline evaluation trends
03Operational proof
The research still has to run reliably.
Deployment is containerized around k3s, PostgreSQL, Qdrant, MinIO and Keycloak, with rollout and rollback paths documented as part of the technical work.
- k3s manifests
- MinIO snapshots
- Documented rollback
AI Lab lens
Code Analysis
Python and AI are pragmatic tools here: useful for runtime scripting, RAG pipelines, semantic search and embeddings. The goal is not to position AI as my main specialization, but to use it where code understanding and automation benefit from indexed context.
Research question
How can source snapshots become docs, graph signals and code context?- Doc SynthesisHierarchical map-reduce synthesis: chunk, file, module and section-level passes, keeping few-shot examples at the raw-code layer only.
- Quality GateA benchmarking harness scores structure, groundedness, factuality and citation precision; enforcement is warn-only below a 0.65 quality threshold.
- EvaluationBLEU-4, ROUGE-L, Recall/MRR and an LLM-judge faithfulness score feed a trend dashboard tracking pipeline quality over time.
- Hybrid SearchQdrant dense + BM25 sparse retrieval fused with Reciprocal Rank Fusion, reranked by a MiniLM cross-encoder with one-hop Graph-RAG neighbor expansion.
- Chat RPCCorrelation-ID RabbitMQ RPC streams source-tagged chat answers token-by-token over SSE, with a 60s idle timeout closing abandoned streams.
- API ExplorerDetects NestJS, Express, FastAPI, Flask and Django routes on demand, emits OpenAPI 3.1.