California Community Colleges Chancellor's Office

MIS Errors Catalog

Add New Error Details

Comma-separated Banner/Colleague form names relevant to this error

CCC MIS Errors Catalog — Feature Guide

A complete reference of all platform features.


AI MIS Error Assistant

AI-powered chatbot that helps MIS professionals diagnose errors and find solutions.

Floating Chat ButtonAvailable on every page via the navy chat icon in the bottom-right corner. Opens a slide-up panel with a full conversation interface.
Context-Aware ResponsesThe AI has access to the full MIS knowledge base, all catalog errors, Banner field mappings (from Ellucian Article 000005280), and SCFF metric definitions. It fuzzy-matches the user's query against catalog errors and injects the top 10 matches plus relevant report-specific Banner form mappings.
Banner Form GuidanceFor Banner users, the AI cites exact forms, tabs, and fields (e.g., 'SCADETL > Supplemental Data > Taxonomy of Program') using 325 extracted data element-to-form mappings from the MIS Report Values document.
SCFF Funding Impact WarningsWhen errors involve SCFF-critical elements (SP02, SP04, SF21, SF22, SX03, SX04, CB03, CB09), the AI warns about which funding metric is affected — ADT, Associate Degree, Credit Certificate, Transfer-Level Math/English, CTE Units, Pell/Promise Grant supplemental counts — and how the error could reduce the district's allocation.
Streaming ResponsesResponses stream in real-time via Server-Sent Events for immediate feedback. Powered by Claude Sonnet 4 via OpenRouter.
Three-Layer PII Defense(1) Client-side real-time detection as user types, (2) Client-side final check before send, (3) Server-side check before reaching the AI API. Plus the AI system prompt instructs it to never ask for or generate PII.
Rate LimitingIP-based rate limiting at 10 requests per minute to prevent abuse. Returns 429 with retry-after header when exceeded.

Search & Browse Errors

The public-facing error catalog with full-text fuzzy search and filtering.

Fuzzy SearchPowered by Fuse.js — users can search by description, data element, system, file type, or solution text. Tolerates typos and partial matches.
Filter DropdownsFilter by Student Information System (Banner, Colleague, PeopleSoft), Error Type (Syntactical, Referential, etc.), and File Type (SB, SX, CB, XB, etc.).
Paginated ResultsResults displayed 50 per page with pagination controls. Rich HTML content (bold, italic, links, images) renders inline in the solution and description columns.
Error Detail PagesEach error has a dedicated page (/errors/:id) showing all fields, community notes, and related errors. Accessible via the detail icon or comment icon in the Solution column of search results.

Related Errors

Automatically computed on each error detail page to help users find similar issues.

Scoring AlgorithmErrors are scored by shared attributes: +2 points for same Data Element, +1 for same File Type, +1 for same Error Type. Top 5 related errors are shown.
DisplayRelated errors appear as clickable cards with system, file type, and error type badges below the Community Notes section. Clicking navigates to the related error's detail page.

Rich Text Editor

The Description, Solution, and Community Notes fields support rich content formatting.

Formatting ToolbarBold, Italic, Hyperlinks, and Images. Available on Add New Error panel, admin Edit Error modal, and Community Notes form.
Image UploadClick the Image button to open a modal with two options: Upload a file from your computer (or drag and drop), or paste a URL. Uploaded images are stored in Supabase Storage (mis-images bucket).
Resizable EditorBoth the Description and Solution editors can be vertically resized by dragging the bottom-right corner. The Add New Error panel itself can be widened by dragging its left edge.
COCI Auto-LinkingAny mention of 'COCI' in the Related SIS Forms field automatically links to coci2.ccctechcenter.org.

Add New Error (Public Submission)

Any user can submit a new error via the slide-out panel on the main page.

Submission FlowUser fills out the form (System, Error Type, File Type, Description are required) and submits. The error goes into a pending queue — it does NOT appear publicly until an admin approves it.
Related SIS FormsA field for entering comma-separated Banner/Colleague form names relevant to the error (e.g., SCADETL, SCACRSE, SSASECT). Displayed on the error detail page.
PII DetectionBefore submission, the system scans all text fields for SSNs (XXX-XX-XXXX), 9-digit student/employee IDs, CCC-IDs, email addresses, and phone numbers. If detected, the submit button is disabled and a warning is shown. A second server-side check blocks any PII that bypasses the client.

Community Notes

Users can add tips, workarounds, and additional context to any error.

Rich Text NotesCommunity notes support bold, italic, hyperlinks, and images via the rich text editor. Notes are rendered as formatted HTML on the error detail page.
College & SIS IdentificationUsers can identify their college (e.g., College of the Siskiyous) and Student Information System (Banner, Colleague, PeopleSoft) when submitting a note. Displayed as badges on approved notes.
ModerationAll notes require admin approval before appearing publicly. PII detection scans note content before submission. Pending notes appear in the admin Pending Submissions page with college and SIS badges.

Email Notifications

Users can subscribe to be notified when new errors are added to the catalog.

SubscribeA subscribe form appears in the site footer. Users enter their email and click Subscribe. Emails are stored in the mis_notification_subscribers Supabase table.
Notification TriggerWhen an admin approves a pending error, all active subscribers receive an email via Resend with the error details and a link to view it.
UnsubscribeEvery notification email includes an unsubscribe link with a unique token. Clicking it deactivates the subscription and shows a confirmation page.

PII Detection & Safeguards

Three-layer defense system to prevent personally identifiable information from being stored or sent to cloud services.

Layer 1: Client-Side (Real-Time)Runs entirely in the browser as the user types. Detects SSNs (XXX-XX-XXXX format), 9-digit numeric sequences (student/employee IDs), CCC-ID patterns, email addresses, and phone numbers. Shows a red warning and disables the submit button.
Layer 2: Server-Side (API)The same detection algorithm runs on the server before writing to the database or calling the AI API. If PII is found, the request is rejected with a 400 error.
Layer 3: AI System PromptThe AI chatbot's system prompt explicitly instructs it to never ask for or generate PII. If a user appears to share personal information, the AI reminds them to remove it.
CoveragePII detection is active on: Add New Error form, Community Notes, and AI Chatbot input. All three layers apply to each.

MIS Knowledge Base & AI Context

Structured domain knowledge that powers the AI chatbot and enriches the platform.

MIS Report TypesAll 26 MIS file types (SB, SX, CB, XB, XF, XE, SF, FA, SP, SS, SG, SD, SE, SC, etc.) with descriptions, record lengths, and submission requirements.
Cross-File Relationships18 documented referential rules (e.g., every SX must have a matching SB, enrollment units must be within section min-max range). The #1 source of MIS errors.
Data Quality Thresholds12 submission-level rules that trigger FULL rejection (e.g., > 25% unknown education status, > 5% unknown zip codes, missing SS or VR file).
Banner Field Mappings325 data elements mapped to their exact Banner forms, tables, columns, and crosswalk configurations (GVATRMP, SOAXREF, GTVSDAX). Extracted from Ellucian Article 000005280 (MIS Report Values, July 2024).
SCFF Metric DefinitionsComplete Student Centered Funding Formula metrics from CCCCO — 3 Supplemental metrics (AB540, Pell, Promise Grant), 8 Student Success metrics (ADT, Associate Degree, Baccalaureate, Certificate, Transfer-Level Math/English, Transfer, CTE Units, Living Wage), 16 Equity sub-metrics, cascading exclusion rules, and funding impact analysis for each critical MIS element.
Common Failure Modes6 categories: missing crosswalks, missing Banner data, cascading dependencies, complex calculations, positional fields, SVAIMIS defaults — each with affected elements and resolution steps.

Data Architecture

How data flows through the system.

Supabase (Single Source of Truth)All error data lives in the mis_errors table in Supabase. The public site, admin panel, and API all read from and write to the same table. Changes are reflected immediately.
Tablesmis_errors (approved errors with relatedForms field), mis_pending (submitted errors awaiting approval), mis_error_comments (community notes with college, SIS, and is_approved flag), mis_notification_subscribers (email subscribers), mis_settings (AI provider config, budget), mis_usage_log (AI token usage tracking).
Image StorageUploaded images are stored in the mis-images Supabase Storage bucket (public). URLs are embedded directly in the HTML content of Description, Solution, and Community Notes fields.
Knowledge Base Filesmis-knowledge-base.json (report types, relationships, thresholds, failure modes), banner-field-mappings.json (325 Banner form mappings), scff-metrics.json (SCFF funding formula definitions). All in /public/ and loaded into AI context on each chat request.

Tech Stack

Technologies powering the platform.

FrameworkNext.js 15 (App Router) with React 19 and TypeScript
StylingTailwind CSS 4 with @tailwindcss/typography for rich HTML content
SearchFuse.js 7 for client-side fuzzy search (also used server-side for AI context matching)
DatabaseSupabase (PostgreSQL) with service role key for server-side access
File StorageSupabase Storage (mis-images bucket)
Rich TextTiptap editor with StarterKit, Link, and Image extensions
AIClaude Sonnet 4 via OpenRouter API with streaming responses. Supports Cloud AI (OpenRouter) and Local AI (Ollama, LM Studio, vLLM).
EmailResend API for transactional email notifications
HostingVercel (auto-deploy from GitHub on push to main)