A library management system for the CEIT (College of Engineering and Information Technology) — academic paper catalog, rulebook/policy corpus, borrowing workflows, and (in progress) an AI assistant built on a hybrid-search sidecar.
Assistant: The in-app chat assistant students and librarians talk to; answers grounded in the library's corpora. Avoid: Chatbot, AI widget
Conversation: A persisted, user-owned chat session between one user and the Assistant, made of Messages. Avoid: Thread, chat log
Message: One exchange within a Conversation — a user question or an Assistant answer (which may carry Citations). Avoid: Entry, turn
Citation:
A numbered [N] marker in an Assistant answer that links to a real retrieved record (a catalog paper or a policy rule), with the source list rendered under the answer.
Avoid: Reference, source note
Grounding: The rule that an Assistant answer is drawn only from retrieved corpus content; when retrieval finds nothing usable, the Assistant refuses instead of guessing ("I don't have enough information"). Avoid: Hallucination guard
Policy question: A question answered from the policy corpus (RuleHeader / RuleRegulation records) — the rulebook Q&A surface. Avoid: Rules question, FAQ query
Catalog question: A question answered from the catalog corpus (academic papers), the same corpus hybrid search already covers.
Sidecar: The FastAPI service that owns the search index and (in Phase 9) the chat/RAG endpoint; the Laravel app talks to it over HTTP with a shared token. Avoid: AI server, backend AI
Availability:
Live copy counts (available/total per catalog id, plus a fetch-time checked_at) hydrated from inventory rows at render time by AvailabilityService — never from the sidecar or the LLM.
Avoid: Stock, status count from AI
Similar books:
The deterministic recommendation list for a catalog paper, produced by running the paper's title as a /search query through SimilarPapersService (title-as-query, no metadata filters, self-excluded by id) — a list, never an LLM answer.
Avoid: Recommendations from the AI, "books like this" via chat
Operational question: A staff-tier question about physical copies and circulation state — counts, per-copy status, due-back times — answered from library data, never from corpora or LLM guesswork. Avoid: Ops query, staff mode
Borrower identity: The binding between a person and a loan — who holds which copy. Never surfaces through the Assistant at any role tier. Avoid: User data, patron info