03 / Selected work

Archivist

AIRAGDocumentation

A memory system that shows its sources and asks before it rewrites them.

Archivist is an agentic RAG documentation assistant for project-FEAR. It reads the local documentation repository, answers with sources, reviews generated docs, and can propose controlled changes back into the documentation tree.

My role
Concept, retrieval, review workflow & UI
Context
Working local application
System
Python · FastAPI · React · RAG

See it at work

Archivist interface for source-backed documentation work.
Archivist interface for source-backed documentation work.

The problem

I conceived and built Archivist across the retrieval tools, agent workflow, review layer and interface. The goal was to make my documentation usable through conversation without losing control of its source files.

Documentation is useful only when it can be found, trusted, and updated. A normal chatbot can make a repository feel searchable, but it can also answer from memory, miss the exact source, or invent technical details that do not exist in the docs.

Design & implementation

Archivist treats documentation as a retrieval and review workflow. A FastAPI backend receives the question, a planner classifies the task, and an agentic loop lets the model call controlled tools such as search_docs, read_doc, read_many_docs, and find_similar_docs.

Those retrieved files become the grounding layer for the answer. For documentation-generation tasks, Archivist also loads the official template, fills known placeholders, asks the model to produce the draft, runs template and consistency reviewers, then exposes a proposed diff.

The React interface makes the loop visible: request status, current tool, sources, timings, reviewers, and proposed changes are surfaced instead of hidden behind a single answer bubble.

Current state

The current implementation is a tool-based RAG system rather than a vector database. That choice is useful at this stage: the assistant can inspect the exact Markdown files it used, cite them, and keep write operations constrained to the documentation root.

The working application exposes both the answer and the evidence used to produce it. For a proposed change, the user can inspect the diff before applying it. Retrieval quality still depends on the underlying documentation; a visible source is a way to verify an answer, not a guarantee that the answer is correct.

Archivist also serves as Hermes's documentation entry point for operational investigations. Repository updates feed its documentation index; agents can check the indexed version and read the relevant inventory or runbook before inspecting a service. Documentation guides the investigation, while live checks establish the current state.

What it does

  • Agentic RAG loop over local project documentation
  • FastAPI backend with async POST /ask jobs and polling
  • Controlled retrieval tools for listing, searching, and reading docs
  • Template-aware documentation generation
  • Deterministic review for template structure and consistency conflicts
  • React UI with sources, timings, reviewers, diff preview, and apply action

Why I built it

Archivist turns project-FEAR from a static memory repository into something you can work with conversationally. It keeps the useful part of an assistant, the ability to ask natural questions, while preserving the discipline of source-backed answers and reviewed documentation changes.