Skip to content

08 — AI Compliance Assistant

What This Means For You

As a compliance officer, you spend hours every week hunting through MAS notices, cross-referencing CMFAS requirements, and chasing reps for missing documents. The AI assistant — we call it Reggie — changes that.

Instead of searching a knowledge base, you ask a question in plain English and get a cited answer in under a minute. Instead of manually checking every rep's certification status, you ask "Who is missing CMFAS Module 1A?" and Reggie checks the live database. Every answer traces back to its MAS source document. Every action is logged in the audit trail.

What you save: A typical regulatory query that used to take 20 minutes of manual document hunting now takes 45 seconds. For a team of 5 officers asking 10 questions a day, that's 16+ hours reclaimed daily.

What you keep: Full control. Reggie suggests; you decide. Write-capable tools (launching attestation cycles, generating passports) require your explicit confirmation before executing. The AI does not act autonomously — it acts as a research assistant with a perfect memory for regulations.


Safety & Privacy

  • No data leaves the platform. Reggie runs on infrastructure you control. MAS documents are indexed locally; rep data is queried from your own database.
  • Every answer is cited or flagged. If Reggie cannot find a source, it says so — it does not invent regulations.
  • Audit trail by design. Every tool call, every suggestion, every human decision is logged with timestamps and user IDs. This is not a feature — in financial services, it is a requirement.
  • No legal advice. Reggie provides regulatory information, not legal opinions. For matters requiring legal interpretation, it directs you to your CCO or external counsel.

When you open the assistant for the first time on any page, four ⚡ "instant answer" pills appear below the input ("What documents do I need for Form 3A?", "What are the Fit & Proper criteria?", "How do I submit to MAS?", "What are SFA regulated activities?"). Tapping any of these returns a fully cited answer in well under a second — these questions are pre-warmed as cache entries against the live regulatory corpus, so the retrieval phase is skipped entirely. For novel questions the assistant streams a real answer in 30–90 seconds (typical) and shows a phase strip telling you exactly where it is: Reading the questionSearching MAS knowledge baseComposing your answer. A Cancel button is always visible during generation, and a thumbs-up / thumbs-down on each answer collects feedback for ongoing quality work.


Overview: A Different Kind of AI

Most compliance tools offer a search box or a knowledge base article. The Regnify AI assistant does three things none of those tools do:

  1. It retrieves before it speaks. Before answering any regulatory question, the AI searches 200 indexed MAS documents — Acts, Notices, Guidelines, Circulars, Forms, AML/CFT notices, conduct rules — and quotes the exact text it finds. If it finds nothing, it says so.

  2. It takes real actions. Beyond answering questions, the AI can check a representative's CMFAS certification gaps, retrieve a live declaration, draft a CPD reminder email, launch a quarterly attestation cycle, or generate a passport export token. These are not mock actions — they call the same GraphQL APIs that the platform's own UI uses.

  3. It is honest about its limits. The AI will not provide legal advice, invent document sections, or speculate about outcomes it cannot verify. When it is uncertain, it tells you what it searched, what it found, and where to go next.


Opening the AI Assistant

The AI assistant is available to all non-representative authenticated users (SYS_ADMIN, ORG_ADMIN, HR_ADMIN, COMP, FI_USER) on every page of the platform — dashboards, form pages, approval queues, MAS console, audit logs, everywhere.

To open: - Click the floating orange circular button in the bottom-right corner of the screen (the message-square icon). The button is always visible regardless of which page you are on. - The chat panel slides up from the bottom-right.

Panel controls (header icons, left to right): - Normal / Large / Maximized — three size buttons resize the panel. Normal fits a compact sidebar; Large gives more reading space; Maximized fills the screen for detailed regulatory research. - History (clock icon) — opens a list of your previous chat sessions. Click any session to restore it. - Clear (trash icon) — clears the current conversation. Only visible when there are messages. - Close (X icon) — collapses the panel. The floating button remains visible.

Input bar: - Type any question and press Enter or click the Send button. - While the AI is generating a response, the Send button changes to a Stop button. Click it to abort the current response mid-stream.

Welcome screen: On first open (empty conversation), the panel shows four quick-start questions: - "What documents do I need for Form 3A?" - "What are the Fit & Proper criteria?" - "How do I submit to MAS?" - "What are SFA regulated activities?"

Click any of these to send it immediately.

The AI assistant (Reggie) panel open on the dashboard, showing the welcome state with quick-start question pills.

The phase strip during a regulatory query — the assistant shows its current step while the MAS knowledge base is being searched.


Asking Regulatory Questions

For any MAS regulatory question, the AI searches the knowledge base before composing its reply. This two-phase retrieval — first ranking documents, then selecting the most relevant section within each — ensures answers are grounded in the actual regulatory text, not paraphrased from memory.

How citations appear: When the AI finds a relevant passage, it names the document and section. For example: "Under MAS Notice FAA-N26 Paragraph 5, a Financial Adviser representative is required to complete 30 CPD hours per year, of which at least 8 hours must cover ethics and regulations and at least 4 hours must cover product knowledge updates."

When the AI cannot find a source: It will say: "I searched the MAS knowledge base loaded in this system and didn't find a precise answer to that." It then suggests where a compliance officer would typically look next — the MAS website, a specific Notice by ID, the IBF portal, or the firm's CCO.

Example questions that work well: - "What CMFAS modules are required for a representative advising on life insurance under the FAA?" - "What is the misconduct reporting deadline under SFA04-N11?" - "Explain the three Fit & Proper criteria from FSG-G01." - "What are the penalties for acting as a representative without appointment?"

Questions by role:

Role Typical Question What Reggie Does
COMP Officer "Summarise this declaration and flag any compliance gaps" Reads the declaration you're viewing, checks CMFAS requirements against proposed activities, and highlights missing certifications
FI_USER Approver "Why was this declaration sent back?" Retrieves the workflow history and revision notes for the current declaration
HR_ADMIN "Which reps have incomplete Q2 attestations?" Queries the rep register and returns a filtered list with attestation status
ORG_ADMIN "Launch a CPD reminder for all Amber reps" Drafts a personalised reminder email for reps with health scores below threshold

Tip: You can ask the same question in different ways if the first result is thin. The AI is designed to retry with narrower phrasings when initial results are sparse.

The phase strip shows the tool name and status while the AI is actively calling a tool. A Cancel button is available throughout.

Each cited MAS document appears as a chip below the response. Click any chip to open the document in a side preview panel.

Clicking a citation chip opens the full document text in a side panel without leaving the chat.

Tool Approval

For write-capable tools — those that create or modify data — the AI presents an approval modal before executing. The modal shows: - The proposed action in plain language - The key parameters (e.g. which organisation, which template, how many reps) - A Confirm button and a Cancel button

No write action fires until you click Confirm. This applies to launch_attestation_cycle, create_incident_declaration, generate_passport, and draft_cpd_reminder.

The approval modal presented before launching an attestation cycle. The AI names the organisation, template, and representative count — you confirm or cancel.


The 14 AI Tools

The AI assistant has 14 tools available. It selects which to use based on your question — you do not need to know these tool names. They are documented here so you understand what is happening when the AI says "I'm checking the knowledge base" or "I'm fetching the workflow state."


Tool 1: search_mas_knowledge

Purpose: Search the indexed MAS regulatory knowledge base.

When the AI uses it: Any question touching MAS regulations — the SFA, the FAA, CMFAS examinations, Fit & Proper criteria, representative appointment or cessation, AML/CFT, penalties, record-keeping, or any MAS Notice or Guideline.

What happens: The AI runs a two-phase retrieval against 200 indexed regulatory documents. Phase 1 ranks the most relevant documents from the full corpus; Phase 2 selects the most relevant section within each document. Returns up to 5 citation-ready excerpts.

Read or Write: Read-only. Does not modify any data.

Example:

User: What is the minimum age to be appointed as a representative?

AI: (calls search_mas_knowledge) Under MAS guidance documented in the pre-submission checklist and the CMS representative appointment guide, the minimum age for appointment as a representative is 21 years. This is distinct from Singapore's general age of majority of 18 — the representative regime imposes a higher threshold.


Tool 2: read_document

Purpose: Fetch the full text of a specific MAS document node, or an outline of the whole document.

When the AI uses it: After a search returns a truncated excerpt and the full surrounding context is needed to answer precisely.

What happens: Given the document ID and node ID from a prior search, the AI fetches the exact paragraph text as Markdown. If called without a node ID, returns a structural outline of the document (all section titles and summaries).

Read or Write: Read-only.

Example: If a search for CMFAS module requirements returns a truncated excerpt from SFA04-N22, the AI calls read_document on that node to get the complete module table before quoting it.


Tool 3: get_declaration

Purpose: Retrieve a specific Form 3A declaration by its numeric ID.

When the AI uses it: Only when you explicitly name a declaration ID (for example, "pull declaration 42").

What happens: The AI fetches the declaration including its status, form data, attached documents, and workflow state. Personally Identifiable Information (PII) fields are masked at the tool boundary before the AI sees them — see the PII Protection section below for exact masking rules.

Read or Write: Read-only.

Example:

User: What is the status of declaration 87?

AI: (calls get_declaration) Declaration 87 is currently in status "Pending Review." It was submitted at 2026-04-15. The workflow has 3 steps; Step 1 is approved by the Supervisor, Step 2 is pending the Manager.


Tool 4: get_workflow_state

Purpose: Fetch the current state of an approval workflow instance.

When the AI uses it: Only when you explicitly name a workflow ID and ask about its approval state.

What happens: Returns the ordered step list — each approver's name, role, status (pending / approved / rejected), timestamp, and rejection reason if any.

Read or Write: Read-only.

Example:

User: Why was workflow 33 rejected?

AI: (calls get_workflow_state) Workflow 33 was rejected at Step 2 by the Compliance Officer. Rejection reason recorded: "CMFAS Module M5 pass certificate not attached."


Tool 5: validate_nric

Purpose: Validate whether a string is a well-formed Singapore NRIC or FIN identifier using the official checksum algorithm.

When the AI uses it: Only when you explicitly ask whether a specific identifier is valid. This is a mathematical checksum check — it does not look up whether the identifier belongs to a real person.

What happens: The checksum algorithm runs deterministically and returns whether the identifier is valid, what type it is (citizen or foreigner based on prefix), and the prefix character.

Read or Write: Read-only. Pure computation, no database access.

Note: The AI will never echo an NRIC back to you in conversation, even if valid. Do not provide NRICs in chat for record-lookup purposes — the AI cannot perform identity lookups.


Tool 6: spawn_agent

Purpose: Launch parallel sub-agents to handle independent research tasks simultaneously.

When the AI uses it: When your request decomposes into two or more independent work items that can proceed in parallel — for example, comparing CMFAS requirements across two regulatory regimes, or auditing multiple representatives at once.

What happens: The AI launches up to 10 concurrent sub-agents, each with its own tool allowlist and a time budget (default 120 seconds, maximum 300 seconds). Sub-agents run simultaneously and report back; the parent AI synthesises their results. Sub-agents cannot spawn further sub-agents.

Read or Write: Read-only (sub-agents are given a restricted tool subset that excludes write tools unless explicitly included).

Example:

User: Compare CMFAS requirements for Dealing in Securities versus Fund Management under the SFA.

AI: (launches two sub-agents in parallel — one searches for Dealing in Securities requirements, one for Fund Management) Both searches returned. For Dealing in Securities: M1A plus M6 or M6A. For Fund Management: M5 plus M6 or M6A. Here is the comparison...


Tool 7: analyze_cert_gap

Purpose: Run a CMFAS certification gap analysis for a representative and persist the per-module status to their Rep Profile.

When the AI uses it: When you ask to check which CMFAS modules a specific representative still needs for their declared regulated activities, or to record exam results.

What happens: The AI passes the representative's profile ID, their proposed activities, the relevant Act (SFA or FAA), and their already-passed modules to the gap engine. The engine — which runs as a deterministic rule check, not an LLM call — identifies which modules are required and which are missing. The passed and missing module statuses are then persisted to the CmfasModuleStatus table in the database via the NestJS upsertCmfasModuleStatus mutation.

Read or Write: Write — updates the representative's CMFAS status records.

Example:

User: Check certification gap for Rep Profile 12, advising on securities and life insurance under the FAA, has passed M5 and M9A.

AI: (calls analyze_cert_gap) Gap analysis result: Passed modules confirmed: M5 (Financial Advisory Services regulations), M9A (Life Insurance and ILPs). Missing for advising on securities: M6 or M6A (Securities Products Knowledge). The representative is not yet eligible to advise on securities. Module statuses have been saved to the rep profile.


Tool 8: get_rep_register

Purpose: Return a summary of all representatives under an organisation, each annotated with an LLM-judged Red/Amber/Green compliance flag.

When the AI uses it: When an ORG_ADMIN, HR_ADMIN, COMP officer, or SYS_ADMIN asks for a compliance roster or snapshot of representatives under a specific organisation.

What happens: The AI fetches all representative profiles for the specified organisation from NestJS. Each profile arrives from the server with a pre-computed R/A/G compliance flag — the server applies the published FAA-N26 thresholds (CPD hours 30/8/4 and CMFAS module status) as a deterministic rule engine and attaches the flag to each rep record. The AI surfaces these flags verbatim in its response.

Read or Write: Read-only.

Example:

User: Show me the compliance status of all reps at Organisation 3.

AI: (calls get_rep_register) Organisation 3 has 8 representatives. Summary: 4 green (CMFAS and CPD in good standing), 3 amber (CPD below required thresholds), 1 red (CMFAS module M6A not in good standing — rep cannot act until re-passed).


Tool 9: get_cpd_status

Purpose: Return CPD hour totals for a specific representative in a given cycle year.

When the AI uses it: When you ask how many CPD hours a representative has completed, broken down by category.

What happens: Queries the NestJS cpdHoursTotalForRep resolver, which aggregates all CPD records for the given rep profile and cycle year. Returns ethics hours, product knowledge hours, other hours, total hours, and number of records. No LLM call — this is a deterministic numeric rollup.

Read or Write: Read-only.

Example:

User: How many CPD hours has Rep Profile 7 completed in 2026?

AI: (calls get_cpd_status) For 2026: Ethics hours — 6.0 (minimum required: 8.0), Product hours — 4.5 (minimum required: 4.0), Other hours — 12.0, Total — 22.5 hours (annual minimum per FAA-N26: 30 hours). The representative still needs 7.5 more hours, including 2.0 additional ethics hours, before 31 December 2026.


Tool 10: draft_cpd_reminder

Purpose: Draft a professional CPD reminder email for a representative. Does not send it.

When the AI uses it: When you ask to send a CPD reminder to a specific representative.

What happens: The AI fetches the representative's user profile (name and email address) and their current CPD totals for the cycle year. An LLM then drafts a two-paragraph, professional reminder email with the recipient's name, their current hours, the annual deadline (31 December), and a {PORTAL_URL} placeholder for the platform link. The draft is shown to you for review; nothing is sent until you approve it.

Read or Write: Write (draft) — generates an email draft. The draft is shown to you for review and nothing is sent without your explicit confirmation.

Example:

User: Draft a CPD reminder for Rep Profile 15.

AI: (calls draft_cpd_reminder) Here is the draft reminder email. Subject: "CPD Hours Reminder — 2026 Cycle." The rep has completed 6.5 hours (vs the 9-hour MAS annual floor). Please review and confirm to send. The email body contains a {PORTAL_URL} placeholder that will be filled with the portal address before dispatch.

A CPD reminder draft displayed in the chat for review before dispatch.


Tool 11: launch_attestation_cycle

Purpose: Create a new quarterly fit-and-proper attestation cycle for a set of representatives.

When the AI uses it: When a COMP officer, HR Admin, Org Admin, or Sys Admin explicitly asks to start a new attestation cycle. This is a write action — it creates the cycle and enqueues invitation emails.

What happens: The AI calls the NestJS launchAttestationCycle mutation with the organisation ID, the attestation template ID, and the list of representative profile IDs. The mutation persists the cycle row and enqueues invitation emails per representative. The AI will always ask for your explicit confirmation before executing this action — naming the org, template, representative count, and first few names.

Read or Write: Write — creates new declaration records and queues emails.

Important: The AI will never launch an attestation cycle without your explicit confirmation. This is one of the most consequential write actions in the system. Launching against the wrong template or the wrong set of reps corrupts the approval chain for every affected representative.

Example:

User: Launch the Q2 2026 attestation for Organisation 3 using template 2.

AI: (calls get_rep_register first to confirm the rep set) I will launch an attestation cycle for Organisation 3, template 2, covering 8 active representatives. Shall I proceed? (User confirms.) (calls launch_attestation_cycle) Cycle launched. Cycle ID: 14. Declarations minted for 8 representatives. Invitation emails will be delivered within the next worker cycle.


Tool 12: detect_attestation_anomaly

Purpose: Review a specific representative's attestation answers for a given cycle against their prior declarations and recent audit history, and flag any irregularities.

When the AI uses it: When a COMP officer, HR Admin, or Org Admin asks whether a representative's attestation responses look suspicious or inconsistent.

What happens: The AI gathers three data slices from NestJS: the representative's attestation responses for the cycle, their prior Form 3A declaration history, and their 50 most recent audit log entries. All three are passed to an LLM judge with a narrow, strict prompt. The judge returns a structured verdict: whether there is an anomaly, its severity (low / medium / high), which specific question keys triggered concern, and a one-paragraph reason. The judgement is always an LLM call — no keyword matching or threshold rules.

Read or Write: Read-only.

Example:

User: Check for anomalies in Rep Profile 9's responses on Cycle 5.

AI: (calls detect_attestation_anomaly) Anomaly detected. Severity: Medium. Field flagged: "prior_regulatory_action." Reason: The representative answered "No" on a question about regulatory investigations, but audit log entries from two months prior record a declaration amendment related to a regulatory inquiry. The inconsistency warrants a follow-up interview before the cycle is closed.

The AI presents a structured anomaly verdict — severity level, flagged field, and reason — for compliance officer review.


Tool 13: create_incident_declaration

Purpose: File a new incident disclosure declaration for a representative.

When the AI uses it: When you explicitly ask to file an incident for a named representative.

What happens: Creates a Declaration record with formType = DECLARATION_INCIDENT_DISCLOSURE via the NestJS createDeclaration mutation. The declaration captures the incident type, the narrative text you provide, and a server-side timestamp. A workflow instance is kicked off automatically.

Incident types (closed set): - gift_received - client_complaint - third_party_report - conflict_of_interest - other

Read or Write: Write — creates a new declaration and workflow record.

Example:

User: File a client complaint incident for Rep Profile 6. A client submitted a written complaint about unsuitable product recommendation on 22 April 2026.

AI: (calls create_incident_declaration) Incident declaration filed. Declaration ID: 203. Form type: DECLARATION_INCIDENT_DISCLOSURE. Status: Draft. The workflow has been initiated and your Compliance Officer will be notified.


Tool 14: generate_passport

Purpose: Issue or rotate a representative's regulatory passport export token, producing a shareable verification URL.

When the AI uses it: When a representative asks to share their MAS credentials with a counterparty, or when explicitly asked to mint or rotate a passport link.

What happens: Calls the NestJS rotateRepProfilePassportToken mutation, which mints a fresh UUID token on the representative's profile and clears any prior revocation timestamp. Returns the token, a public share URL (https://regnify.regnify.dev/passport/{token}), and a verification URL (https://regnify.regnify.dev/passport/verify/{token}). Prior tokens for the same representative are invalidated on rotation.

Read or Write: Write — updates the representative's passport token.

Privacy note: The passport share URL exposes only fields marked public (licensed activities, CMFAS passes, Form 3A approval date, principal FI name). NRIC, date of birth, and residential address are never included in the passport export.

Example:

User: Generate a passport link for Rep Profile 4.

AI: (calls generate_passport) Regulatory passport generated. Share link: https://regnify.regnify.dev/passport/a3f8c.... Counterparty verification: https://regnify.regnify.dev/passport/verify/a3f8c.... The previous token (if any) has been invalidated. The rep may rotate this link at any time.


Role-Specific AI Conversations

The AI is role-aware. Its capabilities and the data it can access depend on the role of the authenticated user. The following examples show what realistic interactions look like for each role.

System Administrator

User: Show me the compliance health of all representatives across Organisation 2.

AI: (calls get_rep_register for org_id=2) Organisation 2 has 12 representatives. 5 are green (CMFAS and CPD in good standing), 4 are amber (CPD below the FAA-N26 annual minimum — each is short between 5 and 12 hours), 3 are red (CMFAS modules not in good standing: two reps have M6A in status "not_taken", one has an expired module). Would you like me to draft CPD reminder emails for the amber representatives, or review the specific CMFAS gaps for the red ones?

Compliance Officer

User: It's time for the Q3 attestation. Launch it for Organisation 4 with template 1.

AI: (calls get_rep_register first) I found 9 active representatives under Organisation 4. I will launch attestation cycle using template 1, covering all 9 representatives. The first three are: Representative A, Representative B, Representative C. Please reply "confirm" to proceed. (User confirms.) (calls launch_attestation_cycle) Cycle launched. Cycle ID 22. Declarations minted for 9 representatives. Invitation emails will be dispatched within the next worker cycle. Attestation cycles operationalise the ongoing fit-and-proper obligation under FSG-G01 and the notification of particulars regime under FAA-N26 and SFA04-N22.

HR Administrator

User: Check the CMFAS certification gap for Rep Profile 8 — they are advising on collective investment schemes under the FAA and have passed M5 and M8.

AI: (calls analyze_cert_gap) Gap analysis: Passed modules — M5 (Financial Advisory Services rules, satisfies the regulatory module requirement) and M8 (Collective Investment Schemes, satisfies the product knowledge requirement for marketing/advising on CIS under the FAA). No missing modules for the declared activities. The representative is eligible. Module statuses have been saved to the rep profile.

Financial Institution User (Representative)

User: What documents do I need to submit with my Form 3A?

AI: (calls search_mas_knowledge) For a Form 3A (appointed representative notification), supporting documents typically required include: your CMFAS examination result slips for each module passed, your academic qualifications certificates, identity documentation, and any employment history records for the past 10 years. Regnify's Form 3A Wizard requires at least one supporting document before you can submit. The exact list depends on your principal FI's internal requirements, but the MAS specification (Form 3A Sections 4 and 5) requires CMFAS results and educational qualification evidence.


Note: The AI assistant is available to SYS_ADMIN, ORG_ADMIN, HR_ADMIN, COMP, and FI_USER roles. It is not available to REP_USER accounts in the Rep Portal (/rep/*). Representatives using the Rep Portal interact with per-section help text rather than Reggie.


PII Protection

The Regnify AI assistant is designed to protect sensitive personal data. PII masking happens server-side — in the tool layer — before any data reaches the AI model. This means the AI cannot see the raw values even if it tries.

Masking rules (verified against services/fastapi/app/agents/chatbot_tools.py):

Field Masking applied Example
NRIC / FIN First character + **** + last character S****D
Passport number Same as NRIC A****7
Phone / mobile **** + last 4 digits ****8821
Date of birth Year only, month and day replaced 1985-**-**

What this means in practice: If a compliance officer asks the AI to retrieve declaration 45, the AI sees the declaration data with these fields pre-masked. It will present the masked form in its response. It cannot un-mask the values and will not attempt to do so.

Why this matters: AI responses may be shared in screenshots, logged in audit trails, or pasted into other systems. Masking at the source prevents accidental PII exposure through any of these channels.

Note: If you provide an NRIC in chat — for example, "Check the records for S1234567D" — the AI will not echo it back, will not perform an identity lookup (it does not have that capability), and will redirect you to the MAS public representative register (FIRR) at eservices.mas.gov.sg/fid/ or your firm's HR and compliance team.


Understanding AI Limitations

What the AI will not do: - Provide legal advice or opinions binding on your legal team. - Recommend specific investment products. - Provide regulatory guidance for jurisdictions other than Singapore (except where MAS documents reference foreign equivalence, such as for Provisional Representatives with overseas experience). - Interpret law on your behalf — it quotes MAS text and identifies the relevant provision; your legal and compliance team makes the interpretive call.

What the AI does instead of guessing: - If it finds relevant but incomplete documentation, it tells you what it found, names the specific gap, and tells you where to look. - If it finds nothing relevant, it says so plainly and suggests the MAS website, the relevant Notice by ID, the IBF portal, or your firm's CCO.

Write actions require confirmation: Tools that modify data (launching attestation cycles, filing incident declarations, generating passport tokens) always ask for your explicit confirmation before executing. The AI will state exactly what it intends to do and wait for a "confirm" or "yes" before proceeding.

Parallel sub-agents: For complex multi-part research questions, the AI may launch parallel sub-agents (using the spawn_agent tool). This is normal behaviour and produces faster, better-structured results. You will see the AI acknowledge this when it happens.


Chat History and Session Management

Conversations are preserved per session. Each chat session is saved as a chat room. You can return to a previous conversation at any time.

To view past conversations: - Click the History icon (clock) in the chat panel header. - A list of previous sessions appears, sorted by date. - Click any session to restore that conversation.

To start a fresh conversation: - Click "New Chat" in the history panel, or - Click the trash icon (Clear) in the panel header when viewing an existing conversation.

Slash commands (type in the input bar): - /clear — clears the current conversation immediately. - /stop — aborts a currently running tool or response generation.

Session continuity: The AI carries the last 10 messages of the current session as context when generating each new response. For very long conversations, starting a new session with a focused question produces better results than continuing an already-lengthy thread.