Deliverables
What we've shipped
D1Delivered
Product Specification Document
User stories, functional and non-functional requirements, and interfaces for Nora. Requirements are prioritized as Definite, Perhaps, or Improbable.
Section 01 · 13 items
User Stories
- US1Login & Role Detection — As a researcher, I can log in with my Onyen so that the Navigator recognizes me and shows me the right role-based view (researcher or admin).
- US2Browse Topics — As a researcher, I can browse the nine research policy categories so that I can find guidance relevant to my topic without knowing exactly what to search for.
- US3Ask a Question — As a researcher, I can ask a question in plain language and receive an answer along with the source it was drawn from, so that I can trust and verify the guidance I'm given.
- US4Unanswerable Question Referral — As a researcher, if my question can't be answered confidently from approved sources, I want the Navigator to tell me that and direct me to the appropriate compliance office, rather than guessing.
- US5Centralized Guidance — As a researcher, I can see relevant policy information in one place so that I don't have to search across multiple UNC websites or contact multiple offices for a single answer.
- US6Save Questions & Resources — As a researcher, I can save a question or resource so that I can return to it later without searching again.
- US7Browse FAQs — As a researcher, I can browse frequently asked questions so that I can quickly find answers to common concerns without typing my own question.
- US8Answer Feedback — As a researcher, I can mark whether an answer was helpful so that UNC Research can improve the guidance the Navigator gives.
- US9View Search Activity — As an administrator, I can view what researchers are searching for so that I can identify common struggle points and topics that need clearer guidance.
- US10Track Unanswered Questions — As an administrator, I can track questions the Navigator couldn't answer so that I can identify gaps in current policy coverage.
- US11Review Feedback — As an administrator, I can review researcher feedback on answer helpfulness so that I have metadata to inform training, education, and workshops.
- US12Manage Policy Content — As an administrator, I can add, update, or remove policy and guidance documents, and control which are treated as authoritative, so that Navigator answers stay grounded in current, approved information.
- US13Search for a Specific Policy — As a researcher, I can search using keywords or a specific phrase to find a particular policy or procedure when I already know roughly what I'm looking for, separate from asking a full plain-language question.
Section 02 · 34 items
Functional Requirements
Definite
21- F1Role-Based Authentication — The system shall authenticate users and distinguish between researcher and administrator roles.
- F2Role-Based Access — Researchers shall have access only to researcher-facing features; administrators shall have access to administrative analytics and content management.
- F3Mock Login — For the semester build, the system shall use a mock login (email/role-based) that models UNC's Onyen-style flow, since production UNC SSO infrastructure is not available to the student team.
- F4Policy Repository Access — The system shall provide access to a curated collection of research policy documents sourced from the UNC Policy Knowledge Base.
- F5Category Organization — The system shall organize policy information according to the nine existing policy categories.
- F6Source Citation — The system shall maintain the source/citation associated with each piece of policy information.
- F7Authoritative Document Control — Administrators shall be able to mark which documents are treated as authoritative, and remove or replace outdated materials.
- F8Keyword & Phrase Search — Researchers shall be able to search the Policy Repository for a specific policy, procedure, topic, or phrase using keywords, returning matching source documents — distinct from the plain-language Ask a Question flow.
- F9Topic Browsing — Researchers shall be able to browse policy information by category/topic.
- F10Sourced Answers — Search results shall identify relevant policy information and return a sourced, plain-language answer rather than raw documents.
- F11Answer Citations — Responses shall identify the specific policy source(s) used to generate the guidance.
- F12Unanswerable Question Handling — The system shall identify when a question cannot be answered confidently from approved sources and direct the user to the appropriate compliance office instead of guessing.
- F13Saved Questions & Resources — Researchers shall be able to save a question or resource to revisit later.
- F14FAQ Browsing — Researchers shall be able to browse a list of frequently asked questions.
- F15Answer Feedback — Researchers shall be able to submit feedback (helpful / not helpful) on a given answer.
- F16Search History View — Administrators shall be able to view the history of questions researchers have asked.
- F17Topic Analytics — The admin dashboard shall identify frequently searched topics and questions.
- F18Unanswered Question Tracking — The admin dashboard shall identify questions the system was unable to answer confidently.
- F19Feedback Dashboard — The admin dashboard shall display researcher feedback on the helpfulness of responses.
- F20Content Management — Administrators shall be able to add, edit, and remove policies, guidance documents, FAQs, and topic categories.
- F21Equal-Weight Entry Points — The system shall present Browse Topics, Search Policies & Guidance, and Ask a Question as three equally prominent, independent entry points into the same Policy Repository, with none positioned as the default or primary experience.
Perhaps
7- F22UNC SSO Integration — The system may integrate with UNC's actual single sign-on system (Onyen/Connect Carolina), subject to UNC ITS access being granted.
- F23Document Version History — The system may maintain a version history of edits to policy and guidance documents.
- F24Related Question Suggestions — The system may suggest related or follow-up questions based on the current query.
- F25Multi-Turn Follow-Up — The system may support basic multi-turn conversation (a follow-up question that references the prior answer).
- F26Automated FAQ Clustering — The system may automatically cluster semantically similar questions to surface FAQ candidates for administrator review.
- F27Analytics Export — Administrators may be able to export analytics reports (e.g., CSV or PDF) for a selected date range.
- F28Analytics Filtering — The dashboard may support filtering analytics by topic, date range, or user role.
Improbable
6- F29Built-In Multi-Factor Auth — The system will not implement its own multi-factor authentication; this remains the responsibility of UNC's SSO provider.
- F30Live Knowledge Base Sync — The system will not maintain a live, automatic sync with UNC's production Policy Knowledge Base; documents are curated and uploaded manually for the semester build.
- F31Multi-Language Support — The system will not support languages other than English.
- F32Auto-Published FAQs — The system will not auto-publish FAQ entries without administrator review and approval.
- F33Predictive Analytics — The system will not provide predictive analytics or machine-learning-driven recommendations for guidance gaps.
- F34Enterprise System Integration — The system will not directly integrate with enterprise research systems such as IRB or COI platforms; this is identified as a future enhancement beyond the semester scope.
Section 03 · 13 items
Non-Functional Requirements
Organized using FURPS+ (Usability, Reliability, Performance, Supportability, +Design/Implementation, +Physical, +Interface); not every category applies, so items are listed together rather than under separate headings.
Definite
7- NF1Responsive Design — The application shall be responsive and usable on both desktop and mobile browser widths.
- NF2Plain-Language Answers — Answers shall be written in plain, non-technical language rather than returning raw policy text.
- NF3Guidance vs. Determination Clarity — Every AI-generated response shall clearly distinguish informational guidance from a formal determination, and shall not present itself as making a compliance decision on behalf of a university office.
- NF4Admin-Manageable Content — Administrators shall be able to add, edit, or remove source documents and FAQs through the admin portal without developer involvement.
- NF5Curated Data Scope — The system shall be built using only a curated set of publicly available or client-approved documents; it shall not access confidential research records or production compliance systems.
- NF6Document Overwrite Protection — The system shall not overwrite or delete a policy document without explicit administrator confirmation.
- NF7Equal-Weight Navigation — Browse, Search, and Ask shall receive equal visual prominence on the researcher home screen (comparable size, placement, and call-to-action styling), rather than emphasizing Ask a Question over the other two.
Perhaps
3- NF8Response Time — A typical question shall return an answer within approximately 5–10 seconds.
- NF9Confidence Indicator — The system may report an internal confidence indicator alongside each answer for administrator review.
- NF10Portable Hosting — The system should be deployable to a standard cloud hosting provider (e.g., Vercel, Railway, Render) without dependence on UNC-specific infrastructure, so the team can develop and demo independently.
Improbable
3- NF11High-Concurrency Performance — Guaranteed sub-second response times under high concurrent load; this would require production-grade infrastructure beyond semester scope.
- NF12Formal Accessibility Certification — A formal WCAG 2.1 AA accessibility audit; the team will follow general accessibility best practices but not pursue formal certification.
- NF13High-Availability Infrastructure — Automated high-availability/failover infrastructure (e.g., multi-region redundancy).
Section 04 · 12 items
Interfaces
Definite
9- I1Researcher Home Screen — Presents Browse Topics, Search Policies & Guidance, and Ask a Question as three equally weighted entry points (comparable size and placement), rather than centering the page on Ask a Question; left navigation includes Home, Ask a Question, Search Policies, Browse Topics, FAQs, Announcements, Help & Support, Contact Compliance; the page also includes a "Grounded Answer" panel with a confidence indicator, a References list, and a helpful/not-helpful feedback control for the Ask a Question flow.
- I2Researcher Right Rail — Related/Popular Topics, Saved Questions, Recommended Guidance, and a "Need Help? Contact Compliance Team" panel for unanswerable questions.
- I3Topic Category Grid — A grid of the nine Research Policy Topic categories shown on the home screen.
- I4Admin Overview Dashboard — Summary metric tiles (Questions Asked, Answers Delivered, Active Users, Policies Published, Positive Feedback), a Questions Over Time line chart, a Top Topics donut chart, Content Overview counts, a Recent Activity feed, a Feedback Overview donut chart, and a System Health panel.
- I5Admin Navigation — Left navigation (Overview, Policy Library, Topics, Content Management, Users & Roles, Analytics & Reports, System Settings, Integrations).
- I6Mock Login Screen — A sign-in screen modeling UNC's Onyen login, using a mocked authentication flow for the semester build.
- I7Internal REST API — JSON endpoints exposed by the application server (e.g., POST /ask, GET /topics, GET /policies, GET /faqs, POST /feedback, and an /admin/* namespace), gated by role.
- I8Generative AI API — An external API (e.g., Claude API) that receives retrieved policy chunks and the user's question and returns the generated answer.
- I9Embedding Model API — An external API that converts policy text and user questions into vectors for similarity search and FAQ clustering.
Perhaps
1- I10Dashboard Date-Range & Export Controls — A date-range selector and an Export Report control on the admin dashboard.
Improbable
2- I11Live UNC SSO Interface — A production connection to UNC's authentication system (Onyen/Connect Carolina) for login.
- I12Enterprise System APIs — Direct API integration with IRB, COI, or other UNC enterprise research systems.