NNora the Policy Navigator

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.