# ACI JIRA AI Fixer - Admin Portal **Version:** 1.0 **Date:** 2026-02-18 **Classification:** Internal - Product Vision --- ## 1. Overview The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that allows managing all system configurations without the need to modify code or configuration files manually. ### 1.1 Objectives - **Zero code** for configuration - **Intuitive interface** for medium/large enterprises - **Multi-tenant** to support multiple teams - **Complete auditing** of all actions - **Integrated SSO** with corporate providers --- ## 2. Portal Screens ### 2.1 Main Dashboard ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 🤖 ACI AI Fixer admin@aci.com ⚙️ 🔔 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │Dashboard│ │ Issues │ │ Code │ │ Config │ │ Logs │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ 📊 DASHBOARD │ │ │ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 12 │ │ 78% │ │ 2.3min │ │ │ │ │ │ Issues/month │ │ Success Rate │ │ Avg Time │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ 📈 Last 30 days │ │ │ │ ████████████████████░░░░░░ 78% fixes accepted │ │ │ │ │ │ │ │ ┌─ Recent Activity ───────────────────────────────────────────┐ │ │ │ │ │ ✅ SUPPORT-4521 - Fix accepted 2 hours ago │ │ │ │ │ │ ⏳ SUPPORT-4519 - Awaiting review 5 hours ago │ │ │ │ │ │ ❌ SUPPORT-4515 - Fix rejected 1 day ago │ │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` **Displayed metrics:** - Issues processed (day/week/month) - Success rate (accepted vs rejected fixes) - Average analysis time - Trend chart - Recent activity --- ### 2.2 Settings - Integrations ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ ⚙️ SETTINGS > Integrations │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─ JIRA ────────────────────────────────────────────────────────────────┐ │ │ │ ✅ Connected │ │ │ │ │ │ │ │ Server URL │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ https://gojira.tsacorp.com │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ API Token │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Webhook URL (copy and configure in JIRA) │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ https://ai-fixer.aci.com/api/webhook/jira 📋 │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Monitored Projects │ │ │ │ ☑️ ACQ - Acquirer ☑️ ICG - Interchange ☐ CORE - Core System │ │ │ │ │ │ │ │ [ 🔄 Test Connection ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Bitbucket ───────────────────────────────────────────────────────────┐ │ │ │ ✅ Connected │ │ │ │ │ │ │ │ Server URL │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ https://bitbucket.tsacorp.com │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Access Token │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [ 🔄 Test Connection ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ LLM Provider ────────────────────────────────────────────────────────┐ │ │ │ ✅ Azure OpenAI │ │ │ │ │ │ │ │ Provider │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Azure OpenAI ▼ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ Options: Azure OpenAI | OpenAI | OpenRouter (Free) | Self-hosted │ │ │ │ │ │ │ │ Endpoint │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ https://aci-openai.openai.azure.com │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ API Key │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Model │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ gpt-4o ▼ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [ 🔄 Test Connection ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Embeddings ──────────────────────────────────────────────────────────┐ │ │ │ ✅ Self-hosted │ │ │ │ │ │ │ │ Provider │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Self-hosted (MiniLM-L6) ▼ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ Options: Self-hosted | Azure OpenAI | OpenAI │ │ │ │ │ │ │ │ ℹ️ For production, we recommend Azure OpenAI for compliance. │ │ │ │ │ │ │ │ [ 🔄 Test Connection ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ [ 💾 Save All ] │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ### 2.3 Repository Management ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 📁 REPOSITORIES [ + Add New ] │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌───────────────────────────────────────────────────────────────────────┐ │ │ │ 📦 ACQ-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │ │ │ │ │ │ │ URL: bitbucket.tsacorp.com/projects/ACQ/repos/ACQ-MF-safra-fork │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Status │ ✅ Indexed │ │ │ │ │ │ Files │ 2,847 files indexed │ │ │ │ │ │ Last Sync │ 02/18/2026 11:30 │ │ │ │ │ │ AI Fork │ ACQ-MF-safra-ai ✅ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Detected languages: │ │ │ │ ████████████████████░░░░░░░░░░ COBOL 68% │ │ │ │ ██████░░░░░░░░░░░░░░░░░░░░░░░░ SQL 22% │ │ │ │ ███░░░░░░░░░░░░░░░░░░░░░░░░░░░ JCL 10% │ │ │ │ │ │ │ │ [ 🔄 Re-index Now ] [ 📊 View Details ] [ ⏰ Schedule Sync ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌───────────────────────────────────────────────────────────────────────┐ │ │ │ 📦 ICG-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │ │ │ │ │ │ │ URL: bitbucket.tsacorp.com/projects/ICG/repos/ICG-MF-safra-fork │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Status │ ✅ Indexed │ │ │ │ │ │ Files │ 1,923 files indexed │ │ │ │ │ │ Last Sync │ 02/18/2026 11:30 │ │ │ │ │ │ AI Fork │ ICG-MF-safra-ai ✅ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [ 🔄 Re-index Now ] [ 📊 View Details ] [ ⏰ Schedule Sync ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ### 2.4 Business Rules Editor ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 🧠 BUSINESS RULES [ + New Module ] │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Configured modules: │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ Author. │ │Clearing │ │HostComm │ │ Batch │ │ │ │ ● │ │ │ │ │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ ═══════════════════════════════════════════════════════════════════════ │ │ │ │ 📌 Module: Authorization │ │ │ │ ┌─ Description ─────────────────────────────────────────────────────────┐ │ │ │ Card transaction authorization module. Responsible for validation, │ │ │ │ HOST communication, and response generation. │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Related Programs ────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ ACQAUTH* ✕ │ │ ACQVALD* ✕ │ │ ACQHOST* ✕ │ [ + Add ] │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Detection Keywords ──────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ┌──────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │authorization✕│ │ decline ✕ │ │ code 51 ✕ │ │ timeout ✕ │ [+] │ │ │ │ └──────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ ℹ️ When an issue contains these words, the system automatically │ │ │ │ associates it with the Authorization module. │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Context Rules (instructions for AI) ─────────────────────────────────┐ │ │ │ │ │ │ │ 📋 Rule 1 [ ✏️ ] [ 🗑️ ]│ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Transactions above $10,000 require additional validation in │ │ │ │ │ │ program ACQVALD through SECTION 5000-VALIDATE-HIGH-VALUE │ │ │ │ │ │ before sending to HOST. │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 📋 Rule 2 [ ✏️ ] [ 🗑️ ]│ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ Response codes follow ISO 8583 standard: │ │ │ │ │ │ - 00: Approved │ │ │ │ │ │ - 51: Insufficient funds (check WS-AVAILABLE-BALANCE) │ │ │ │ │ │ - 14: Invalid card │ │ │ │ │ │ - 91: Issuer unavailable │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 📋 Rule 3 [ ✏️ ] [ 🗑️ ]│ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ WS-AVAILABLE-BALANCE field must have PIC 9(11)V99 for │ │ │ │ │ │ compatibility with HOST return. Check for truncation in │ │ │ │ │ │ comparisons. │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [ + Add New Rule ] │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Restrictions (files AI cannot modify) ───────────────────────────────┐ │ │ │ │ │ │ │ ┌────────────────┐ ┌──────────────────┐ │ │ │ │ │ /interfaces/* ✕│ │ /copybooks/HOST* ✕│ [ + Add ] │ │ │ │ └────────────────┘ └──────────────────┘ │ │ │ │ │ │ │ │ ⚠️ Files in these folders will only be analyzed, never modified. │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ [ Cancel ] [ 💾 Save Module ] │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ### 2.5 Issues View ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 📋 ANALYZED ISSUES │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ 🔍 Search... Status: [ All ▼ ] [ 📅 Period ] │ │ │ │ ┌───────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ┌─ SUPPORT-4521 ──────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ Transaction declined code 51 with available balance │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ │ │ ✅ Accepted│ │ 🎯 87% │ │ ⏱️ 2m 34s │ │ 📁 1 file │ │ │ │ │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ Module: Authorization Created: 02/18/2026 09:15 │ │ │ │ │ │ │ │ │ │ │ │ [ 👁️ View Full Analysis ] [ 📝 View PR ] [ 🔗 Open JIRA ] │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─ SUPPORT-4519 ──────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ Formatting error in clearing file │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ │ │ ⏳ Review │ │ 🎯 72% │ │ ⏱️ 3m 12s │ │ 📁 2 files │ │ │ │ │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ Module: Clearing Created: 02/18/2026 06:45 │ │ │ │ │ │ │ │ │ │ │ │ [ 👁️ View Full Analysis ] [ 📝 View PR ] [ 🔗 Open JIRA ] │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─ SUPPORT-4515 ──────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ JCL failing with return code 12 │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ │ │ ❌ Rejected│ │ 🎯 45% │ │ ⏱️ 4m 01s │ │ 📁 1 file │ │ │ │ │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ Reason: "Incorrect dataset analysis PROD.CLEARING.INPUT" │ │ │ │ │ │ │ │ │ │ │ │ [ 👁️ View Analysis ] [ 🔄 Re-analyze ] [ 🔗 Open JIRA ] │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ Showing 1-10 of 47 issues [ ← Previous ] [ Next → ] │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ### 2.6 Analysis Details ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 👁️ ANALYSIS: SUPPORT-4521 [ ← Back ]│ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─ Issue Information ───────────────────────────────────────────────────┐ │ │ │ │ │ │ │ Title: Transaction declined code 51 with available balance │ │ │ │ Status: ✅ Fix Accepted │ │ │ │ Confidence: 87% │ │ │ │ Analysis time: 2 minutes 34 seconds │ │ │ │ Analyzed at: 02/18/2026 09:17:34 │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Original Description ────────────────────────────────────────────────┐ │ │ │ │ │ │ │ Safra client reports that transactions are being declined with │ │ │ │ code 51 (insufficient funds) even when the customer has available │ │ │ │ balance. Occurs on transactions above $100,000.00. │ │ │ │ │ │ │ │ Stack trace: │ │ │ │ ACQAUTH - SECTION 3000-VALIDATE - EVALUATE WS-RESPONSE-CODE │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ AI Analysis ─────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 🔍 IDENTIFIED ROOT CAUSE │ │ │ │ │ │ │ │ The ACQAUTH.CBL program is comparing the WS-AVAILABLE-BALANCE │ │ │ │ field with format PIC 9(9)V99 (maximum 9,999,999.99), but the │ │ │ │ value returned from HOST uses PIC 9(11)V99 (max 999,999,999.99). │ │ │ │ │ │ │ │ This causes truncation on values above $100,000.00, │ │ │ │ making the balance appear as insufficient. │ │ │ │ │ │ │ │ 📁 AFFECTED FILES │ │ │ │ • src/cobol/ACQAUTH.CBL (lines 1234-1256) │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Proposed Fix ────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ```cobol │ │ │ │ * BEFORE (line 1234) │ │ │ │ 05 WS-AVAILABLE-BALANCE PIC 9(9)V99. │ │ │ │ │ │ │ │ * AFTER │ │ │ │ 05 WS-AVAILABLE-BALANCE PIC 9(11)V99. │ │ │ │ ``` │ │ │ │ │ │ │ │ Also adjust SECTION 3000-VALIDATE to use the new size. │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ Links ───────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 🔗 Issue in JIRA: gojira.tsacorp.com/browse/SUPPORT-4521 │ │ │ │ 📝 Pull Request: bitbucket.tsacorp.com/.../pull-requests/142 │ │ │ │ 💬 AI Comment: View in JIRA │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ │ │ │ │ [ 🔄 Re-analyze ] [ 📥 Export PDF ] │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 3. Portal Technology Stack ### 3.1 Frontend ```yaml Framework: React 18 + TypeScript Styling: Tailwind CSS + shadcn/ui Components: - Tables with sorting and filters - Forms with validation - Charts (Recharts) - Code editor (Monaco Editor) - Toast notifications State Management: React Query + Zustand Routing: React Router v6 Build: Vite ``` ### 3.2 Backend (API) ```yaml Framework: FastAPI (Python 3.11+) Documentation: Automatic OpenAPI/Swagger Authentication: JWT + OAuth2/OIDC Rate Limiting: slowapi Validation: Pydantic v2 ``` ### 3.3 Database ```yaml Primary: PostgreSQL 15+ Cache: Redis 7+ Vector DB: Qdrant (embeddings) Migrations: Alembic ``` ### 3.4 Authentication ```yaml Supported options: - Azure AD (SAML/OIDC) - Okta - Google Workspace - Email/Password with MFA (TOTP) Permissions (RBAC): - Admin: Full access - Editor: Configure rules, view everything - Viewer: View only - API: Programmatic access only ``` --- ## 4. Configuration Simplicity | Action | Method | Time | |--------|--------|------| | Connect JIRA | Paste URL + Token | 2 minutes | | Connect Bitbucket | Paste URL + Token | 2 minutes | | Change LLM provider | Select from dropdown | 30 seconds | | Add repository | Paste URL + Configure AI fork | 5 minutes | | Create business rule | Visual editor | 5-10 minutes | | Add restriction | Type path | 30 seconds | | View logs | Click on tab | Immediate | | Export report | "Export" button | Immediate | **Principle: Zero code for any configuration.** --- ## 5. Multi-Tenant (Multiple Companies) The portal supports multiple isolated tenants: ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ MULTI-TENANT ARCHITECTURE │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Tenant: ACI Safra Tenant: ACI Itaú │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ │ - Safra Repos │ │ - Itaú Repos │ │ │ │ - Safra Rules │ │ - Itaú Rules │ │ │ │ - Safra Users │ │ - Itaú Users │ │ │ │ - Isolated Logs │ │ - Isolated Logs │ │ │ └─────────────────────────┘ └─────────────────────────┘ │ │ │ │ │ │ └────────────────┬───────────────────┘ │ │ │ │ │ ┌──────────▼──────────┐ │ │ │ Shared │ │ │ │ Infrastructure │ │ │ │ (LLM, Embeddings) │ │ │ └─────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` **Guaranteed isolation:** - Data from one tenant never visible to another - Independent configurations - Separate billing (if applicable) - Audit logs per tenant --- ## 6. Responsiveness The portal is responsive and works on: | Device | Support | |--------|---------| | Desktop (1920px+) | ✅ Optimized | | Laptop (1366px) | ✅ Optimized | | Tablet (768px) | ✅ Adapted | | Mobile (375px) | ⚠️ View only | --- ## 7. Accessibility - Full keyboard navigation - Screen reader compatible (ARIA) - Adequate contrast (WCAG 2.1 AA) - Resizable text --- ## 8. Roadmap 1. **Phase 1:** Basic portal with Dashboard and Settings 2. **Phase 2:** Business rules editor 3. **Phase 3:** Multi-tenant and SSO 4. **Phase 4:** Advanced reports and export 5. **Phase 5:** Public API for integrations --- **Document prepared for product presentation.**