docs: Add English documentation (no ACI references)

- technical-en.md: Technical architecture and implementation
- executive-en.md: Business proposal and ROI analysis
- portal-en.md: Admin portal wireframes and features

All documentation is product-agnostic, ready for any client.
This commit is contained in:
Ricel Leite 2026-02-18 14:34:52 -03:00
parent 0a825a51e8
commit e00c9db939
6 changed files with 323 additions and 2017 deletions

View File

@ -1,346 +0,0 @@
# ACI JIRA AI Fixer
## Proposta Executiva
**Data:** 18 de Fevereiro de 2026
**Versão:** 1.1
**Atualização:** Azure OpenAI obrigatório para compliance
**Classificação:** Interno - Diretoria
---
## Sumário Executivo
### O Problema
A equipe de suporte enfrenta desafios crescentes na resolução de Support Cases:
| Desafio | Impacto |
|---------|---------|
| **Tempo de resposta** | Análise inicial consome horas de desenvolvedor sênior |
| **Backlog crescente** | Issues acumulam enquanto equipe foca em demandas urgentes |
| **Qualidade variável** | Dependência de conhecimento individual sobre o código |
| **Conhecimento concentrado** | Poucos especialistas conhecem todos os módulos |
### A Solução
Um sistema de **Inteligência Artificial** que:
1. **Monitora** automaticamente novos Support Cases no JIRA
2. **Analisa** o problema e identifica o código-fonte afetado
3. **Propõe** correções específicas em COBOL, SQL e JCL
4. **Documenta** a análise diretamente no JIRA
5. **Cria** branches com correções para revisão humana
### Resultado Esperado
```
┌─────────────────────────────────────────────────────────────┐
│ ANTES vs DEPOIS │
├─────────────────────────────────────────────────────────────┤
│ │
│ ANTES DEPOIS │
│ ────── ────── │
│ Issue criada Issue criada │
│ ↓ ↓ │
│ Dev analisa (2-4h) IA analisa (5min) │
│ ↓ ↓ │
│ Busca código (1-2h) Código identificado │
│ ↓ ↓ │
│ Investiga causa (2-4h) Causa + fix sugerido │
│ ↓ ↓ │
│ Desenvolve fix (2-4h) Dev revisa e aprova │
│ ↓ ↓ │
│ Review + deploy Review + deploy │
│ │
│ TOTAL: 8-14 horas TOTAL: 2-4 horas │
│ │
│ ✅ Redução de 60-70% no tempo de resolução │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## Por Que Agora?
### 1. Tecnologia Madura
Os modelos de linguagem (GPT-4, Claude) atingiram nível de qualidade suficiente para análise e geração de código, incluindo linguagens legadas como COBOL.
### 2. Vantagem Competitiva
Empresas líderes estão adotando IA para acelerar desenvolvimento. Quem não adotar ficará para trás em produtividade.
### 3. Volume Gerenciável
Com 5-10 issues/mês, o risco é baixo e o ambiente é ideal para validar a solução antes de escalar.
### 4. Custo Acessível
O custo operacional é mínimo (~R$2.500/mês) devido ao baixo volume.
---
## Como Funciona
### Fluxo Simplificado
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Support │ │ IA │ │ Dev │
│ Case │────▶│ Analisa │────▶│ Revisa │
│ (JIRA) │ │ + Sugere │ │ + Aprova │
└──────────────┘ └──────────────┘ └──────────────┘
5min 5min 30min-2h
┌─────────────────────┐
│ Comentário JIRA: │
│ - Causa raiz │
│ - Arquivos afetados│
│ - Correção proposta│
│ - Link para PR │
└─────────────────────┘
```
### Exemplo Real
**Issue:** "Transação sendo declinada com código 51 mesmo com saldo disponível"
**Resposta da IA (em 5 minutos):**
```
📋 ANÁLISE AUTOMÁTICA
🔍 Causa Identificada:
O programa ACQAUTH.CBL está comparando o campo WS-AVAILABLE-BALANCE
com formato PIC 9(9)V99, mas o valor retornado do HOST usa
PIC 9(11)V99, causando truncamento.
📁 Arquivo Afetado:
- src/cobol/ACQAUTH.CBL (linhas 1234-1256)
💡 Correção Proposta:
Alterar declaração de WS-AVAILABLE-BALANCE para PIC 9(11)V99
e ajustar a comparação na SECTION 3000-VALIDATE.
📊 Confiança: 87%
🔗 PR com correção: bitbucket.tsacorp.com/projects/ACQ/repos/...
```
### Segurança: IA Não Altera Código de Produção
```
┌─────────────────────────────────────────────────────────────┐
│ SEPARAÇÃO DE RESPONSABILIDADES │
├─────────────────────────────────────────────────────────────┤
│ │
│ Repositório CLIENTE (produção) │
│ ACQ-MF-safra-fork │
│ ├── IA tem acesso: SOMENTE LEITURA │
│ └── Alterações: APENAS por desenvolvedores │
│ │
│ Repositório IA (isolado) │
│ ACQ-MF-safra-ai │
│ ├── IA tem acesso: LEITURA E ESCRITA │
│ └── Propósito: Branches com sugestões de correção │
│ │
│ Fluxo de Aprovação: │
│ 1. IA cria branch no repositório isolado │
│ 2. IA abre Pull Request para repositório cliente │
│ 3. Desenvolvedor HUMANO revisa │
│ 4. Desenvolvedor HUMANO aprova ou rejeita │
│ 5. Só então o código vai para produção │
│ │
│ ✅ 100% das alterações passam por revisão humana │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## Investimento
### Desenvolvimento (MVP)
| Item | Investimento |
|------|--------------|
| Desenvolvimento (4.5 meses) | R$ 350.000 - R$ 450.000 |
| Infraestrutura inicial | R$ 15.000 |
| **Total MVP** | **R$ 365.000 - R$ 465.000** |
*Estimativa considera equipe dedicada de 4-5 profissionais.*
### Custo Operacional Mensal
| Item | Custo/Mês |
|------|-----------|
| APIs de Inteligência Artificial | R$ 150 |
| Infraestrutura (servidores) | R$ 1.000 - R$ 2.500 |
| Manutenção (10% equipe) | R$ 3.500 |
| **Total Operacional** | **~R$ 5.000/mês** |
*Custo baixo devido ao volume de 5-10 issues/mês.*
---
## Retorno do Investimento (ROI)
### Economia de Tempo
| Métrica | Valor |
|---------|-------|
| Issues por mês | 5-10 |
| Tempo médio atual por issue | 8-14 horas |
| Tempo médio com IA | 2-4 horas |
| **Economia por issue** | **6-10 horas** |
| **Economia mensal** | **30-100 horas de dev sênior** |
### Cálculo Financeiro
```
Custo hora desenvolvedor sênior: ~R$ 200
Economia mensal: 50 horas (média)
Valor economizado: R$ 10.000/mês
Investimento MVP: R$ 400.000 (média)
Custo operacional: R$ 5.000/mês
Payback: ~40-48 meses
Porém, considerando:
- Escala para mais clientes/produtos
- Redução de bugs em produção
- Liberação de devs para inovação
- Retenção de conhecimento
ROI real: Difícil quantificar, mas ALTAMENTE POSITIVO
```
### Benefícios Intangíveis
| Benefício | Impacto |
|-----------|---------|
| **Padronização** | Todas as issues analisadas com mesmo rigor |
| **Documentação** | Histórico completo de análises no JIRA |
| **Conhecimento** | IA aprende padrões, independe de pessoas |
| **Velocidade** | Resposta inicial em minutos, não horas |
| **Moral da equipe** | Devs focam em problemas complexos, não repetitivos |
---
## Riscos e Mitigações
| Risco | Probabilidade | Mitigação |
|-------|---------------|-----------|
| **IA sugere fix incorreto** | Média | Revisão humana obrigatória em 100% dos casos |
| **Resistência da equipe** | Baixa | Posicionar como assistente, não substituto |
| **Segurança do código** | ✅ Eliminado | Azure OpenAI - dados ficam no tenant Azure, não são usados para treino |
| **Custo de LLM aumenta** | Baixa | Contrato Enterprise Azure com preços fixos |
### Compliance e Segurança
A solução utiliza **exclusivamente Azure OpenAI**, garantindo:
- ✅ Dados de código não são enviados para APIs públicas
- ✅ Dados não são usados para treinar modelos Microsoft
- ✅ Processamento na região Brazil South (baixa latência)
- ✅ Compatível com políticas corporativas ACI
- ✅ Utiliza contrato Enterprise Agreement existente
**Nota:** O GitHub Copilot existente continuará sendo usado pelos desenvolvedores no IDE. São ferramentas complementares - Copilot para autocompletar código, AI Fixer para automatizar análise de issues.
### Abordagem Conservadora
O sistema será implementado em fases:
```
Fase 1 (MVP): Apenas análise e sugestão
IA comenta no JIRA, não cria código
Fase 2: Geração de código em repositório isolado
Humano decide se usa ou não
Fase 3: Pull Requests automáticos
Humano ainda aprova
Fase 4: Auto-merge (apenas para fixes de alta confiança)
Somente após meses de validação
```
---
## Timeline
```
┌─────────────────────────────────────────────────────────────┐
│ ROADMAP MVP │
├─────────────────────────────────────────────────────────────┤
│ │
│ Mês 1-2 Mês 2-3 Mês 3-4 Mês 4-5 │
│ ─────── ─────── ─────── ─────── │
│ Setup + Indexação Geração de Testes + │
│ Integrações de Código Correções Refinamento │
│ │
│ ✓ JIRA ✓ COBOL ✓ LLM ✓ Piloto │
│ ✓ Bitbucket ✓ SQL ✓ Validação ✓ Ajustes │
│ ✓ Infra ✓ JCL ✓ Output ✓ Docs │
│ │
│ │ │
│ ▼ │
│ GO-LIVE │
│ ~4.5 meses │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## Diferenciais da Solução
### Por que não usar ferramentas prontas (GitHub Copilot, etc)?
| Aspecto | Ferramentas Genéricas | Nossa Solução |
|---------|----------------------|---------------|
| **Integração JIRA** | ❌ Manual | ✅ Automática |
| **Conhecimento do sistema ACI** | ❌ Genérico | ✅ Treinado com regras ACI |
| **COBOL expertise** | ⚠️ Limitado | ✅ Otimizado para mainframe |
| **Fluxo Support Case** | ❌ Não existe | ✅ Nativo |
| **Segurança (on-premise)** | ❌ Cloud only | ✅ 100% interno |
| **Customização** | ❌ Genérico | ✅ Regras configuráveis |
---
## Recomendação
### Decisão Solicitada
Aprovar o desenvolvimento do **MVP do ACI JIRA AI Fixer** com:
- **Investimento:** R$ 400.000 - R$ 465.000
- **Timeline:** 4.5 meses
- **Escopo:** Produtos ACQ-MF e ICG-MF
- **Objetivo:** Reduzir tempo de análise de Support Cases em 60%+
### Próximos Passos (após aprovação)
1. **Semana 1:** Definir equipe e iniciar setup de infraestrutura
2. **Semana 2:** Criar repositórios AI e configurar integrações
3. **Mês 1:** Primeira demonstração com issue real
4. **Mês 3:** MVP funcional para piloto
5. **Mês 5:** Go-live em produção
---
## Conclusão
O **ACI JIRA AI Fixer** representa uma oportunidade de:
**Aumentar produtividade** da equipe de suporte em 60%+
**Reduzir tempo de resposta** de horas para minutos
**Padronizar qualidade** das análises
**Reter conhecimento** independente de pessoas
**Posicionar a ACI** na vanguarda de automação com IA
O momento é ideal: tecnologia madura, volume controlado para piloto, e demanda urgente da equipe.
---
**Documento preparado para apresentação à Diretoria.**
*Em caso de dúvidas, a equipe técnica está disponível para demonstração.*

View File

@ -1,558 +0,0 @@
# ACI JIRA AI Fixer - Portal Administrativo
**Versão:** 1.0
**Data:** 2026-02-18
**Classificação:** Interno - Visão de Produto
---
## 1. Visão Geral
O Portal Administrativo do ACI JIRA AI Fixer é uma interface web moderna e intuitiva que permite gerenciar todas as configurações do sistema sem necessidade de alterar código ou arquivos de configuração manualmente.
### 1.1 Objetivos
- **Zero código** para configuração
- **Interface intuitiva** para empresas de médio/grande porte
- **Multi-tenant** para suportar múltiplas equipes
- **Auditoria completa** de todas as ações
- **SSO integrado** com provedores corporativos
---
## 2. Telas do Portal
### 2.1 Dashboard Principal
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 🤖 JIRA AI Fixer admin@aci.com ⚙️ 🔔 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Dashboard│ │ Issues │ │ Código │ │ Config │ │ Logs │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 📊 DASHBOARD │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ 12 │ │ 78% │ │ 2.3min │ │ │
│ │ │ Issues/mês │ │ Taxa Acerto │ │ Tempo Médio │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ 📈 Últimos 30 dias │ │
│ │ ████████████████████░░░░░░ 78% fixes aceitos │ │
│ │ │ │
│ │ ┌─ Atividade Recente ─────────────────────────────────────────┐ │ │
│ │ │ ✅ SUPPORT-4521 - Fix aceito há 2 horas │ │ │
│ │ │ ⏳ SUPPORT-4519 - Aguardando review há 5 horas │ │ │
│ │ │ ❌ SUPPORT-4515 - Fix rejeitado há 1 dia │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
**Métricas exibidas:**
- Issues processadas (dia/semana/mês)
- Taxa de acerto (fixes aceitos vs rejeitados)
- Tempo médio de análise
- Gráfico de tendência
- Atividade recente
---
### 2.2 Configurações - Integrações
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ⚙️ CONFIGURAÇÕES > Integrações │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─ JIRA ────────────────────────────────────────────────────────────────┐ │
│ │ ✅ Conectado │ │
│ │ │ │
│ │ URL do Servidor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://gojira.tsacorp.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ API Token │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Webhook URL (copie e configure no JIRA) │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://ai-fixer.aci.com/api/webhook/jira 📋 │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Projetos Monitorados │ │
│ │ ☑️ ACQ - Acquirer ☑️ ICG - Interchange ☐ CORE - Core System │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Bitbucket ───────────────────────────────────────────────────────────┐ │
│ │ ✅ Conectado │ │
│ │ │ │
│ │ URL do Servidor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://bitbucket.tsacorp.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Access Token │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ LLM Provider ────────────────────────────────────────────────────────┐ │
│ │ ✅ Azure OpenAI │ │
│ │ │ │
│ │ Provedor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Azure OpenAI ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Opções: Azure OpenAI | OpenAI | OpenRouter (Free) | Self-hosted │ │
│ │ │ │
│ │ Endpoint │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://aci-openai.openai.azure.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ API Key │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••••••••••••••••••••••• 👁️ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Modelo │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ gpt-4o ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Embeddings ──────────────────────────────────────────────────────────┐ │
│ │ ✅ Self-hosted │ │
│ │ │ │
│ │ Provedor │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Self-hosted (MiniLM-L6) ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Opções: Self-hosted | Azure OpenAI | OpenAI │ │
│ │ │ │
│ │ Para produção, recomendamos Azure OpenAI para compliance. │ │
│ │ │ │
│ │ [ 🔄 Testar Conexão ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ 💾 Salvar Tudo ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.3 Gerenciamento de Repositórios
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 📁 REPOSITÓRIOS [ + Adicionar ] │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ 📦 ACQ-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │
│ │ │ │
│ │ URL: bitbucket.tsacorp.com/projects/ACQ/repos/ACQ-MF-safra-fork │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Status │ ✅ Indexado │ │ │
│ │ │ Arquivos │ 2.847 arquivos indexados │ │ │
│ │ │ Última Sync │ 18/02/2026 11:30 │ │ │
│ │ │ Fork AI │ ACQ-MF-safra-ai ✅ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Linguagens detectadas: │ │
│ │ ████████████████████░░░░░░░░░░ COBOL 68% │ │
│ │ ██████░░░░░░░░░░░░░░░░░░░░░░░░ SQL 22% │ │
│ │ ███░░░░░░░░░░░░░░░░░░░░░░░░░░░ JCL 10% │ │
│ │ │ │
│ │ [ 🔄 Re-indexar Agora ] [ 📊 Ver Detalhes ] [ ⏰ Agendar Sync ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ 📦 ICG-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │
│ │ │ │
│ │ URL: bitbucket.tsacorp.com/projects/ICG/repos/ICG-MF-safra-fork │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Status │ ✅ Indexado │ │ │
│ │ │ Arquivos │ 1.923 arquivos indexados │ │ │
│ │ │ Última Sync │ 18/02/2026 11:30 │ │ │
│ │ │ Fork AI │ ICG-MF-safra-ai ✅ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ 🔄 Re-indexar Agora ] [ 📊 Ver Detalhes ] [ ⏰ Agendar Sync ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.4 Editor de Regras de Negócio
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 🧠 REGRAS DE NEGÓCIO [ + Novo Módulo ] │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Módulos configurados: │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Autoriz. │ │Clearing │ │HostComm │ │ Batch │ │
│ │ ● │ │ │ │ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ═══════════════════════════════════════════════════════════════════════ │
│ │
│ 📌 Módulo: Autorização │
│ │
│ ┌─ Descrição ───────────────────────────────────────────────────────────┐ │
│ │ Módulo de autorização de transações de cartão. Responsável pela │ │
│ │ validação, comunicação com HOST e geração de resposta. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Programas Relacionados ──────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ ACQAUTH* ✕ │ │ ACQVALD* ✕ │ │ ACQHOST* ✕ │ [ + Adicionar ]│ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Keywords de Detecção ────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │autorização✕│ │ decline ✕ │ │código 51 ✕ │ │ timeout ✕ │ [+Add] │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │
│ │ │ │
│ │ Quando uma issue contém essas palavras, o sistema associa │ │
│ │ automaticamente ao módulo de Autorização. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Regras de Contexto (instruções para a IA) ───────────────────────────┐ │
│ │ │ │
│ │ 📋 Regra 1 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Transações acima de R$ 10.000 requerem validação adicional no │ │ │
│ │ │ programa ACQVALD através da SECTION 5000-VALIDATE-HIGH-VALUE │ │ │
│ │ │ antes de enviar ao HOST. │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 📋 Regra 2 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Códigos de resposta seguem padrão ISO 8583: │ │ │
│ │ │ - 00: Aprovada │ │ │
│ │ │ - 51: Saldo insuficiente (verificar WS-AVAILABLE-BALANCE) │ │ │
│ │ │ - 14: Cartão inválido │ │ │
│ │ │ - 91: Emissor indisponível │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 📋 Regra 3 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ O campo WS-AVAILABLE-BALANCE deve ter PIC 9(11)V99 para │ │ │
│ │ │ compatibilidade com o retorno do HOST. Verificar se não há │ │ │
│ │ │ truncamento em comparações. │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [ + Adicionar Nova Regra ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Restrições (arquivos que a IA NÃO pode alterar) ─────────────────────┐ │
│ │ │ │
│ │ ┌────────────────┐ ┌────────────────┐ │ │
│ │ │ /interfaces/* ✕│ │ /copybooks/HOST* ✕│ [ + Adicionar ]│ │
│ │ └────────────────┘ └────────────────┘ │ │
│ │ │ │
│ │ ⚠️ Arquivos nestas pastas serão apenas analisados, nunca alterados. │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ Cancelar ] [ 💾 Salvar Módulo ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.5 Visualização de Issues
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 📋 ISSUES ANALISADAS │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🔍 Buscar... Status: [ Todos ▼ ] [ 📅 Período ] │
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─ SUPPORT-4521 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Transação declinada código 51 com saldo disponível │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ✅ Aceito │ │ 🎯 87% │ │ ⏱️ 2m 34s │ │ 📁 1 arquivo│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Módulo: Autorização Criado: 18/02/2026 09:15 │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise Completa ] [ 📝 Ver PR ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─ SUPPORT-4519 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Erro de formatação no arquivo de clearing │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ⏳ Review │ │ 🎯 72% │ │ ⏱️ 3m 12s │ │ 📁 2 arquivos│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Módulo: Clearing Criado: 18/02/2026 06:45 │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise Completa ] [ 📝 Ver PR ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─ SUPPORT-4515 ──────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ JCL falhando com código de retorno 12 │ │ │
│ │ │ │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │
│ │ │ │ ❌ Rejeitado│ │ 🎯 45% │ │ ⏱️ 4m 01s │ │ 📁 1 arquivo│ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Motivo: "Análise incorreta do dataset PROD.CLEARING.INPUT" │ │ │
│ │ │ │ │ │
│ │ │ [ 👁️ Ver Análise ] [ 🔄 Re-analisar ] [ 🔗 Abrir JIRA ] │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ Mostrando 1-10 de 47 issues [ ← Anterior ] [ Próximo → ] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
### 2.6 Detalhes da Análise
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 👁️ ANÁLISE: SUPPORT-4521 [ ← Voltar]│
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─ Informações da Issue ────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Título: Transação declinada código 51 com saldo disponível │ │
│ │ Status: ✅ Fix Aceito │ │
│ │ Confiança: 87% │ │
│ │ Tempo de análise: 2 minutos 34 segundos │ │
│ │ Analisado em: 18/02/2026 09:17:34 │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Descrição Original ──────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Cliente Safra reporta que transações estão sendo declinadas com │ │
│ │ código 51 (saldo insuficiente) mesmo quando o cliente possui saldo │ │
│ │ disponível. Ocorre em transações acima de R$ 100.000,00. │ │
│ │ │ │
│ │ Stack trace: │ │
│ │ ACQAUTH - SECTION 3000-VALIDATE - EVALUATE WS-RESPONSE-CODE │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Análise da IA ───────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🔍 CAUSA RAIZ IDENTIFICADA │ │
│ │ │ │
│ │ O programa ACQAUTH.CBL está comparando o campo WS-AVAILABLE-BALANCE │ │
│ │ com formato PIC 9(9)V99 (máximo 9.999.999,99), mas o valor │ │
│ │ retornado do HOST usa PIC 9(11)V99 (máximo 999.999.999,99). │ │
│ │ │ │
│ │ Isso causa truncamento em valores acima de R$ 100.000,00, │ │
│ │ fazendo com que o saldo apareça como insuficiente. │ │
│ │ │ │
│ │ 📁 ARQUIVOS AFETADOS │ │
│ │ • src/cobol/ACQAUTH.CBL (linhas 1234-1256) │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Correção Proposta ───────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ```cobol │ │
│ │ * ANTES (linha 1234) │ │
│ │ 05 WS-AVAILABLE-BALANCE PIC 9(9)V99. │ │
│ │ │ │
│ │ * DEPOIS │ │
│ │ 05 WS-AVAILABLE-BALANCE PIC 9(11)V99. │ │
│ │ ``` │ │
│ │ │ │
│ │ Também ajustar a SECTION 3000-VALIDATE para usar o novo tamanho. │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Links ───────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🔗 Issue no JIRA: gojira.tsacorp.com/browse/SUPPORT-4521 │ │
│ │ 📝 Pull Request: bitbucket.tsacorp.com/.../pull-requests/142 │ │
│ │ 💬 Comentário IA: Ver no JIRA │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ [ 🔄 Re-analisar ] [ 📥 Exportar PDF ] │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 3. Stack Tecnológico do Portal
### 3.1 Frontend
```yaml
Framework: React 18 + TypeScript
Estilização: Tailwind CSS + shadcn/ui
Componentes:
- Tabelas com ordenação e filtros
- Formulários com validação
- Gráficos (Recharts)
- Editor de código (Monaco Editor)
- Notificações toast
State Management: React Query + Zustand
Roteamento: React Router v6
Build: Vite
```
### 3.2 Backend (API)
```yaml
Framework: FastAPI (Python 3.11+)
Documentação: OpenAPI/Swagger automático
Autenticação: JWT + OAuth2/OIDC
Rate Limiting: slowapi
Validação: Pydantic v2
```
### 3.3 Banco de Dados
```yaml
Principal: PostgreSQL 15+
Cache: Redis 7+
Vector DB: Qdrant (embeddings)
Migrations: Alembic
```
### 3.4 Autenticação
```yaml
Opções suportadas:
- Azure AD (SAML/OIDC)
- Okta
- Google Workspace
- Email/Senha com MFA (TOTP)
Permissões (RBAC):
- Admin: Acesso total
- Editor: Configura regras, visualiza tudo
- Viewer: Apenas visualização
- API: Apenas acesso programático
```
---
## 4. Facilidade de Configuração
| Ação | Método | Tempo |
|------|--------|-------|
| Conectar JIRA | Colar URL + Token | 2 minutos |
| Conectar Bitbucket | Colar URL + Token | 2 minutos |
| Trocar provedor LLM | Selecionar no dropdown | 30 segundos |
| Adicionar repositório | Colar URL + Configurar fork AI | 5 minutos |
| Criar regra de negócio | Editor visual | 5-10 minutos |
| Adicionar restrição | Digitar path | 30 segundos |
| Ver logs | Clicar na aba | Imediato |
| Exportar relatório | Botão "Exportar" | Imediato |
**Princípio: Zero código para qualquer configuração.**
---
## 5. Multi-Tenant (Múltiplas Empresas)
O portal suporta múltiplos tenants isolados:
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ARQUITETURA MULTI-TENANT │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Tenant: ACI Safra Tenant: ACI Itaú │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ - Repos Safra │ │ - Repos Itaú │ │
│ │ - Regras Safra │ │ - Regras Itaú │ │
│ │ - Usuários Safra │ │ - Usuários Itaú │ │
│ │ - Logs isolados │ │ - Logs isolados │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ │ │ │
│ └────────────────┬───────────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ Infraestrutura │ │
│ │ Compartilhada │ │
│ │ (LLM, Embeddings) │ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
**Isolamento garantido:**
- Dados de um tenant nunca visíveis para outro
- Configurações independentes
- Billing separado (se aplicável)
- Audit logs por tenant
---
## 6. Responsividade
O portal é responsivo e funciona em:
| Dispositivo | Suporte |
|-------------|---------|
| Desktop (1920px+) | ✅ Otimizado |
| Laptop (1366px) | ✅ Otimizado |
| Tablet (768px) | ✅ Adaptado |
| Mobile (375px) | ⚠️ Visualização apenas |
---
## 7. Acessibilidade
- Navegação por teclado completa
- Compatível com leitores de tela (ARIA)
- Contraste adequado (WCAG 2.1 AA)
- Textos redimensionáveis
---
## 8. Próximos Passos
1. **Fase 1:** Portal básico com Dashboard e Configurações
2. **Fase 2:** Editor de regras de negócio
3. **Fase 3:** Multi-tenant e SSO
4. **Fase 4:** Relatórios avançados e exportação
5. **Fase 5:** API pública para integrações
---
**Documento preparado para apresentação de produto.**

View File

@ -1,749 +0,0 @@
# ACI JIRA AI Fixer - Documento Técnico
**Versão:** 1.1
**Data:** 2026-02-18
**Atualização:** Azure OpenAI obrigatório para compliance
**Classificação:** Interno - Equipe Técnica
---
## 1. Visão Geral
### 1.1 Objetivo
Desenvolver um sistema de inteligência artificial que integra com JIRA e Bitbucket para automatizar a análise de Support Cases, identificar módulos afetados no código-fonte (COBOL/SQL/JCL), propor correções e documentar soluções automaticamente.
### 1.2 Escopo
- **Produtos:** ACQ-MF (Acquirer) e ICG-MF (Interchange)
- **Repositórios:** Forks específicos por cliente (ex: ACQ-MF-safra-fork, ICG-MF-safra-fork)
- **Issues:** Support Cases no JIRA
- **Linguagens:** COBOL, SQL, JCL
### 1.3 Arquitetura de Alto Nível
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ACI JIRA AI FIXER - ARQUITETURA │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────┐ │
│ │ JIRA │ │
│ │ gojira.tsacorp│ │
│ │ .com │ │
│ └───────┬───────┘ │
│ │ Webhook (issue_created, issue_updated) │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ EVENT PROCESSOR │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │ │
│ │ │ Queue │ │ Filter │ │ Issue Classifier │ │ │
│ │ │ (Redis) │──▶ (Support │──▶ (Produto, Módulo, │ │ │
│ │ │ │ │ Cases) │ │ Severidade) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ CODE INTELLIGENCE ENGINE │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │
│ │ │ Bitbucket │ │ Code Index │ │ Context │ │ │
│ │ │ Connector │ │ (Embeddings) │ │ Builder │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ bitbucket. │ │ - COBOL procs │ │ - CALLs │ │ │
│ │ │ tsacorp.com │ │ - SQL tables │ │ - COPYBOOKs │ │ │
│ │ │ │ │ - JCL jobs │ │ - Includes │ │ │
│ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ Repositórios: │ │
│ │ ├── ACQ-MF (base) │ │
│ │ │ └── ACQ-MF-safra-fork (cliente) │ │
│ │ │ └── ACQ-MF-safra-ai (IA) ← NOVO │ │
│ │ ├── ICG-MF (base) │ │
│ │ │ └── ICG-MF-safra-fork (cliente) │ │
│ │ │ └── ICG-MF-safra-ai (IA) ← NOVO │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ FIX GENERATION ENGINE │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │
│ │ │ LLM Engine │ │ Fix Validator │ │ Output │ │ │
│ │ │ │ │ │ │ Generator │ │ │
│ │ │ - GPT-4o │ │ - Syntax check │ │ │ │ │
│ │ │ - Claude 3.5 │ │ - COBOL rules │ │ - JIRA │ │ │
│ │ │ - Fallback │ │ - SQL lint │ │ comment │ │ │
│ │ │ │ │ - JCL validate │ │ - PR/Branch │ │ │
│ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────┴───────────────┐ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ JIRA │ │ Bitbucket │ │
│ │ Comment │ │ Pull Request│ │
│ │ (Análise + │ │ (Fork AI) │ │
│ │ Sugestão) │ │ │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 2. Componentes Detalhados
### 2.1 Event Processor
#### 2.1.1 JIRA Webhook Receiver
```yaml
Endpoint: POST /api/webhook/jira
Eventos:
- jira:issue_created
- jira:issue_updated
Filtros:
- issueType: "Support Case"
- project: ["ACQ", "ICG"]
Autenticação: Webhook Secret (HMAC-SHA256)
```
#### 2.1.2 Queue System
```yaml
Tecnologia: Redis + Bull Queue
Filas:
- jira-events: Eventos brutos do JIRA
- analysis-jobs: Jobs de análise pendentes
- fix-generation: Geração de correções
Retry Policy:
- Max attempts: 3
- Backoff: exponential (1min, 5min, 15min)
Dead Letter Queue: jira-events-dlq
```
#### 2.1.3 Issue Classifier
Responsável por extrair metadados da issue:
```python
class IssueClassifier:
def classify(self, issue: JiraIssue) -> ClassifiedIssue:
return ClassifiedIssue(
produto=self._detect_product(issue), # ACQ-MF ou ICG-MF
modulo=self._detect_module(issue), # Autorização, Clearing, etc.
severidade=self._detect_severity(issue), # P1, P2, P3
keywords=self._extract_keywords(issue), # Termos técnicos
stack_trace=self._parse_stack_trace(issue),
affected_programs=self._detect_programs(issue)
)
```
### 2.2 Code Intelligence Engine
#### 2.2.1 Bitbucket Connector
```yaml
Base URL: https://bitbucket.tsacorp.com
API Version: REST 1.0 (Bitbucket Server)
Autenticação: Personal Access Token ou OAuth
Operações:
- Clone/Pull: Sparse checkout (apenas diretórios relevantes)
- Read: Conteúdo de arquivos específicos
- Branches: Criar/listar branches no fork AI
- Pull Requests: Criar PR do fork AI → fork cliente
```
**Estrutura de Acesso por Repo:**
| Repositório | Permissão IA | Uso |
|-------------|--------------|-----|
| ACQ-MF (base) | READ | Referência, padrões |
| ACQ-MF-safra-fork | READ | Código atual cliente |
| ACQ-MF-safra-ai | WRITE | Branches e commits IA |
| ICG-MF (base) | READ | Referência, padrões |
| ICG-MF-safra-fork | READ | Código atual cliente |
| ICG-MF-safra-ai | WRITE | Branches e commits IA |
#### 2.2.2 Code Index (Embeddings)
**⚠️ IMPORTANTE: Azure OpenAI Embeddings (Obrigatório)**
O cliente possui requisitos de compliance que exigem que os dados de código-fonte não sejam processados por APIs públicas. Por isso, **obrigatoriamente** utilizamos Azure OpenAI Embeddings:
```yaml
Provedor: Azure OpenAI (dados permanecem no tenant Azure do cliente)
Modelo: text-embedding-ada-002 ou text-embedding-3-large
Região: Brazil South (recomendado) ou East US
Compliance: Dados não são usados para treinar modelos Microsoft
Contrato: Enterprise Agreement existente da ACI
```
**Por que não usar GitHub Copilot para embeddings?**
- GitHub Copilot é uma ferramenta de IDE, não possui API para integração
- Não oferece funcionalidade de indexação ou busca semântica
- Não há como usar Copilot para buscar código relevante programaticamente
**Indexação de Código COBOL:**
```yaml
Granularidade: Por PROGRAM-ID / SECTION / PARAGRAPH
Metadados extraídos:
- PROGRAM-ID
- COPY statements (dependências)
- CALL statements (programas chamados)
- FILE-CONTROL (arquivos acessados)
- SQL EXEC (tabelas/queries)
- Working Storage (variáveis principais)
Modelo de Embedding: Azure OpenAI text-embedding-3-large
Vector DB: Qdrant (self-hosted na infra ACI) ou Azure AI Search
Dimensões: 3072
Índice separado por: produto + cliente
```
**Indexação de SQL:**
```yaml
Granularidade: Por tabela/view/procedure
Metadados extraídos:
- Nome do objeto
- Colunas e tipos
- Foreign keys
- Procedures que referenciam
```
**Indexação de JCL:**
```yaml
Granularidade: Por JOB / STEP
Metadados extraídos:
- JOB name
- PGM executados
- DD statements (datasets)
- PARM passados
- Dependências (JCL INCLUDEs)
```
#### 2.2.3 Context Builder
Monta o contexto relevante para o LLM analisar:
```python
class ContextBuilder:
def build_context(self, issue: ClassifiedIssue) -> AnalysisContext:
# 1. Busca programas mencionados na issue
mentioned_programs = self._search_by_keywords(issue.keywords)
# 2. Busca programas similares a issues passadas
similar_issues = self._find_similar_issues(issue)
# 3. Expande dependências (COPYBOOKs, CALLs)
dependencies = self._expand_dependencies(mentioned_programs)
# 4. Busca regras de negócio configuradas
business_rules = self._get_business_rules(issue.produto)
# 5. Monta contexto final (respeitando limite de tokens)
return AnalysisContext(
primary_code=mentioned_programs[:5], # Max 5 programas principais
dependencies=dependencies[:10], # Max 10 dependências
similar_fixes=similar_issues[:3], # Max 3 exemplos
business_rules=business_rules,
total_tokens=self._count_tokens()
)
```
### 2.3 Fix Generation Engine
#### 2.3.1 LLM Engine
```yaml
Primary: Azure OpenAI GPT-4o (dados não saem do ambiente Azure)
Fallback: Azure OpenAI GPT-4 Turbo
Gateway: LiteLLM (unified interface)
Configuração:
temperature: 0.2 # Baixa para código
max_tokens: 4096
top_p: 0.95
```
**Nota sobre GitHub Copilot:** O cliente possui GitHub Copilot, porém esta ferramenta é destinada ao uso no IDE pelos desenvolvedores. O Copilot **não possui API pública** para integração em sistemas automatizados e **não oferece funcionalidade de embeddings/indexação**. Por isso, a solução utiliza Azure OpenAI para todas as operações de IA.
**Prompt Template para COBOL:**
```
Você é um especialista em sistemas de pagamentos mainframe,
especificamente nos produtos ACI Acquirer (ACQ-MF) e Interchange (ICG-MF).
## Contexto do Sistema
{business_rules}
## Issue Reportada
{issue_description}
## Código Atual
{code_context}
## Histórico de Fixes Similares
{similar_fixes}
## Tarefa
Analise a issue e:
1. Identifique a causa raiz provável
2. Localize o(s) programa(s) afetado(s)
3. Proponha uma correção específica
4. Explique o impacto da mudança
## Regras
- Mantenha compatibilidade com COBOL-85
- Preserve a estrutura de copybooks existente
- Não altere interfaces com outros sistemas sem explicitar
- Documente todas as alterações propostas
## Formato de Resposta
{response_format}
```
#### 2.3.2 Fix Validator
**Validações COBOL:**
```yaml
Syntax:
- Compilação com GnuCOBOL (syntax check)
- Verificação de copybooks referenciados
Semântica:
- CALLs para programas existentes
- Variáveis declaradas antes do uso
- PIC clauses compatíveis
Estilo:
- Indentação padrão (área A/B)
- Naming conventions da ACI
- Comentários obrigatórios
```
**Validações SQL:**
```yaml
- Syntax check com parser SQL
- Verificação de tabelas/colunas existentes
- Análise de performance (EXPLAIN)
```
**Validações JCL:**
```yaml
- Syntax check JCL
- Datasets referenciados existem
- PGMs referenciados existem
```
#### 2.3.3 Output Generator
**Formato do Comentário JIRA:**
```markdown
## 🤖 Análise Automática - AI Fixer
### 📋 Resumo
[Descrição concisa do problema identificado]
### 🔍 Causa Raiz Identificada
[Explicação técnica da causa]
### 📁 Arquivos Afetados
| Arquivo | Tipo | Alteração |
|---------|------|-----------|
| ACQAUTH.CBL | COBOL | Modificação na SECTION 3000-VALIDATE |
| ACQAUTH.CPY | COPYBOOK | Sem alteração |
### 💡 Correção Proposta
```cobol
[Código da correção]
```
### ⚠️ Impacto
- [Lista de impactos]
### 📊 Confiança
- **Score:** 85%
- **Base:** 3 issues similares encontradas
### 🔗 Ações
- [Link para PR no Bitbucket] (se aplicável)
- [Link para branch com correção]
---
*Gerado automaticamente por ACI JIRA AI Fixer v1.0*
*Review humano obrigatório antes de merge*
```
---
## 3. Estrutura de Repositórios (Fork AI)
### 3.1 Criação dos Forks AI
```bash
# Estrutura proposta no Bitbucket
projects/
├── ACQ/
│ ├── ACQ-MF # Produto base (existente)
│ ├── ACQ-MF-safra-fork # Fork cliente (existente)
│ └── ACQ-MF-safra-ai # Fork IA (NOVO)
├── ICG/
│ ├── ICG-MF # Produto base (existente)
│ ├── ICG-MF-safra-fork # Fork cliente (existente)
│ └── ICG-MF-safra-ai # Fork IA (NOVO)
```
### 3.2 Fluxo de Branches
```
ACQ-MF-safra-fork (cliente)
│ fork
ACQ-MF-safra-ai (IA)
├── main (sync com cliente)
└── ai-fix/JIRA-1234-descricao
│ Pull Request
ACQ-MF-safra-fork (cliente)
│ Review + Approve
merge
```
### 3.3 Convenção de Commits
```
[AI-FIX] JIRA-1234: Descrição curta do fix
Problema:
- Descrição do problema original
Solução:
- O que foi alterado e por quê
Arquivos modificados:
- src/cobol/ACQAUTH.CBL (linha 1234-1256)
Confiança: 85%
Gerado por: ACI JIRA AI Fixer v1.0
Co-authored-by: ai-fixer@aci.com
```
### 3.4 Permissões Recomendadas
| Usuário/Grupo | ACQ-MF (base) | Fork Cliente | Fork AI |
|---------------|---------------|--------------|---------|
| ai-fixer-svc | READ | READ | WRITE |
| devs-aci | WRITE | WRITE | READ |
| tech-leads | ADMIN | ADMIN | ADMIN |
---
## 4. Interface de Configuração (Admin Panel)
### 4.1 Funcionalidades
```
┌─────────────────────────────────────────────────────────────┐
│ ACI AI FIXER - ADMIN │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Dashboard │ │ Config │ │ Logs │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ 📊 Dashboard │
│ ├── Issues processadas (hoje/semana/mês) │
│ ├── Taxa de acerto (fixes aceitos) │
│ ├── Tempo médio de análise │
│ └── Fila atual │
│ │
│ ⚙️ Configurações │
│ ├── Regras de Negócio │
│ │ └── [Editor de regras por módulo] │
│ ├── Mapeamento de Módulos │
│ │ └── [Keywords → Programas] │
│ ├── Exemplos de Fixes │
│ │ └── [Issues resolvidas como referência] │
│ ├── Restrições │
│ │ └── [Arquivos/módulos que IA não pode alterar] │
│ └── Conexões │
│ ├── JIRA (webhook URL, credentials) │
│ └── Bitbucket (repos, tokens) │
│ │
│ 📝 Logs │
│ ├── Histórico de análises │
│ ├── Erros e exceções │
│ └── Audit trail (quem aprovou o quê) │
│ │
└─────────────────────────────────────────────────────────────┘
```
### 4.2 Configuração de Regras de Negócio
```yaml
# Exemplo de configuração por módulo
modulos:
autorizacao:
descricao: "Módulo de autorização de transações"
programas:
- ACQAUTH*
- ACQVALD*
keywords:
- autorização
- auth
- decline
- aprovação
regras:
- "Transações acima de 10000 requerem validação adicional"
- "Códigos de resposta seguem padrão ISO 8583"
restricoes:
- "Não alterar interface com HOST sem aprovação"
clearing:
descricao: "Módulo de clearing e settlement"
programas:
- ICGCLR*
- ICGSET*
keywords:
- clearing
- settlement
- arquivo retorno
regras:
- "Arquivos de clearing seguem layout CNAB"
```
### 4.3 API do Admin Panel
```yaml
# Endpoints principais
POST /api/config/rules
- Criar/atualizar regras de negócio
GET /api/config/modules
- Listar módulos configurados
POST /api/config/examples
- Adicionar exemplo de fix
GET /api/dashboard/stats
- Métricas de uso
GET /api/logs/analyses
- Histórico de análises
POST /api/manual/analyze
- Trigger análise manual de uma issue
```
---
## 5. Stack Tecnológico
### 5.1 Backend
```yaml
Runtime: Python 3.11+
Framework: FastAPI
Async: asyncio + httpx
Queue: Redis 7+ com Bull Queue (via Python-RQ ou Celery)
Database: PostgreSQL 15+ (metadados, configurações, logs)
Vector DB: Qdrant 1.7+ (self-hosted)
Cache: Redis
```
### 5.2 Frontend (Admin Panel)
```yaml
Framework: React 18+ ou Vue 3+
UI Kit: Tailwind CSS + shadcn/ui
State: React Query ou Pinia
Build: Vite
```
### 5.3 Infraestrutura
```yaml
Container: Docker + Docker Compose
Orquestração: Docker Swarm (inicial) ou Kubernetes (escala)
CI/CD: Bitbucket Pipelines
Reverse Proxy: Traefik ou nginx
SSL: Let's Encrypt
Monitoramento: Prometheus + Grafana
Logs: ELK Stack ou Loki
```
### 5.4 Integrações Externas
```yaml
LLM (Azure OpenAI - OBRIGATÓRIO):
Primary: Azure OpenAI GPT-4o
Fallback: Azure OpenAI GPT-4 Turbo
Região: Brazil South ou East US
Gateway: LiteLLM (suporta Azure OpenAI nativamente)
Compliance: Dados não usados para treino, ficam no tenant Azure
Embeddings (Azure OpenAI - OBRIGATÓRIO):
Modelo: Azure OpenAI text-embedding-3-large
Alternativa: Azure OpenAI text-embedding-ada-002
Vector DB: Qdrant (self-hosted) ou Azure AI Search
JIRA:
API: REST API v2 (Server)
Auth: Personal Access Token
Bitbucket:
API: REST API 1.0 (Server)
Auth: Personal Access Token
```
**⚠️ Nota sobre GitHub Copilot:**
O cliente possui licenças de GitHub Copilot, porém esta ferramenta **não é aplicável** para esta solução porque:
1. É uma ferramenta de IDE (autocompletar código), não uma API
2. Não possui endpoint público para integração programática
3. Não oferece funcionalidade de embeddings ou busca semântica
4. Não permite indexar ou consultar repositórios de código
O GitHub Copilot continuará sendo usado pelos desenvolvedores no dia-a-dia, enquanto a solução JIRA AI Fixer usa Azure OpenAI para automação.
---
## 6. Segurança
### 6.1 Dados Sensíveis
```yaml
Código fonte:
- Processado em memória, não persistido em disco
- Embeddings armazenados em Qdrant (criptografado at-rest)
- Logs sanitizados (sem código completo)
Credenciais:
- Vault (HashiCorp) ou AWS Secrets Manager
- Rotação automática de tokens
- Audit log de acessos
LLM e Embeddings:
- OBRIGATÓRIO: Azure OpenAI (dados não saem do tenant Azure)
- Dados não são usados para treinar modelos da Microsoft
- Compliance com políticas corporativas ACI
- Região Brazil South para menor latência
```
### 6.2 Rede
```yaml
Deployment:
- Rede interna (não exposto à internet)
- Comunicação HTTPS/TLS 1.3
- Firewall: apenas JIRA e Bitbucket podem acessar webhooks
Autenticação:
- Admin Panel: SSO via SAML/OIDC (integrar com AD da ACI)
- API: JWT tokens com expiração curta
- Webhooks: HMAC-SHA256 signature verification
```
### 6.3 Compliance
```yaml
Requisitos:
- [ ] Segregação de dados por cliente/fork
- [ ] Audit trail completo (quem, quando, o quê)
- [ ] Retenção de logs configurável
- [ ] Opção de processamento 100% on-premise
- [ ] Documentação de fluxo de dados
```
---
## 7. Estimativas
### 7.1 Timeline de Desenvolvimento
| Fase | Duração | Entregas |
|------|---------|----------|
| **1. Setup Inicial** | 2 semanas | Infra, repos, CI/CD básico |
| **2. Integrações** | 3 semanas | JIRA webhook, Bitbucket connector |
| **3. Code Intelligence** | 4 semanas | Indexação COBOL/SQL/JCL, embeddings |
| **4. Fix Engine** | 3 semanas | LLM integration, prompt engineering |
| **5. Output & PR** | 2 semanas | JIRA comments, Bitbucket PRs |
| **6. Admin Panel** | 2 semanas | Dashboard, configurações |
| **7. Testes & Ajustes** | 2 semanas | Validação com issues reais |
| **Total MVP** | **18 semanas** | ~4.5 meses |
### 7.2 Equipe Sugerida
| Função | Quantidade | Dedicação |
|--------|------------|-----------|
| Tech Lead | 1 | 100% |
| Backend Developer | 2 | 100% |
| Frontend Developer | 1 | 50% |
| DevOps | 1 | 25% |
| **Total** | **5** | |
### 7.3 Custos Operacionais Mensais (Estimativa)
| Item | Custo/Mês |
|------|-----------|
| LLM APIs (10 issues × ~$3/issue) | ~$30 |
| Infra (VPS/On-premise) | $200-500 |
| Vector DB (Qdrant self-hosted) | $0 (infra) |
| **Total** | **~$230-530/mês** |
*Nota: Volume baixo (5-10 issues/mês) resulta em custo operacional mínimo.*
---
## 8. Riscos Técnicos e Mitigações
| Risco | Probabilidade | Impacto | Mitigação |
|-------|---------------|---------|-----------|
| LLM gera fix incorreto | Alta | Alto | Human review obrigatório, confidence score |
| Contexto COBOL insuficiente | Média | Alto | RAG com copybooks, exemplos de fixes |
| Latência alta | Baixa | Médio | Queue assíncrona, feedback visual |
| Bitbucket API rate limit | Baixa | Baixo | Cache agressivo, sparse checkout |
| Segurança (código exposto) | Média | Alto | Azure OpenAI ou self-hosted LLM |
---
## 9. Métricas de Sucesso
### 9.1 KPIs Técnicos
| Métrica | Target MVP | Target 6 meses |
|---------|------------|----------------|
| Taxa de análises bem-sucedidas | 80% | 95% |
| Fixes aceitos (sem modificação) | 30% | 50% |
| Fixes aceitos (com ajustes) | 50% | 70% |
| Tempo médio de análise | < 5 min | < 2 min |
| Uptime do sistema | 95% | 99% |
### 9.2 KPIs de Negócio
| Métrica | Target |
|---------|--------|
| Redução tempo de análise inicial | 50% |
| Issues com sugestão útil | 70% |
| Satisfação da equipe | > 4/5 |
---
## 10. Próximos Passos
1. **Semana 1-2:**
- Provisionar infra de desenvolvimento
- Criar forks AI no Bitbucket
- Configurar webhooks JIRA (ambiente de teste)
2. **Semana 3-4:**
- Implementar connector Bitbucket
- Indexar código de 1 repositório (ACQ-MF-safra-fork)
- Testar embeddings com 5 issues históricas
3. **Semana 5-6:**
- Integrar LLM (GPT-4o)
- Desenvolver prompts específicos para COBOL
- Validar outputs com equipe técnica
---
**Documento preparado para revisão técnica.**
*Contato: [Equipe de Desenvolvimento]*

View File

@ -1,10 +1,9 @@
# ACI JIRA AI Fixer # JIRA AI Fixer
## Executive Proposal ## Executive Proposal
**Date:** February 18, 2026 **Date:** February 2026
**Version:** 1.1 **Version:** 1.1
**Update:** Azure OpenAI mandatory for compliance **Classification:** Product Documentation
**Classification:** Internal - Executive
--- ---
@ -12,7 +11,7 @@
### The Problem ### The Problem
The support team faces growing challenges in resolving Support Cases: Support teams face growing challenges in resolving Support Cases:
| Challenge | Impact | | Challenge | Impact |
|-----------|--------| |-----------|--------|
@ -64,16 +63,16 @@ An **Artificial Intelligence** system that:
## Why Now? ## Why Now?
### 1. Mature Technology ### 1. Mature Technology
Language models (GPT-4, Claude) have reached sufficient quality for code analysis and generation, including legacy languages like COBOL. Language models (GPT-4, Claude, Llama) have reached sufficient quality for code analysis and generation, including legacy languages like COBOL.
### 2. Competitive Advantage ### 2. Competitive Advantage
Leading companies are adopting AI to accelerate development. Those who don't adopt will fall behind in productivity. Leading companies are adopting AI to accelerate development. Those who don't adopt will fall behind in productivity.
### 3. Manageable Volume ### 3. Manageable Volume
With 5-10 issues/month, the risk is low and the environment is ideal to validate the solution before scaling. With typical support volumes, the risk is low and the environment is ideal to validate the solution before scaling.
### 4. Accessible Cost ### 4. Accessible Cost
Operational cost is minimal (~$500/month) due to low volume. Operational cost is minimal, especially with free/low-cost LLM options available.
--- ---
@ -108,12 +107,12 @@ Operational cost is minimal (~$500/month) due to low volume.
📋 AUTOMATIC ANALYSIS 📋 AUTOMATIC ANALYSIS
🔍 Identified Cause: 🔍 Identified Cause:
The ACQAUTH.CBL program is comparing the WS-AVAILABLE-BALANCE field The AUTH.CBL program is comparing the WS-AVAILABLE-BALANCE field
with format PIC 9(9)V99, but the value returned from HOST uses with format PIC 9(9)V99, but the value returned from HOST uses
PIC 9(11)V99, causing truncation. PIC 9(11)V99, causing truncation.
📁 Affected File: 📁 Affected File:
- src/cobol/ACQAUTH.CBL (lines 1234-1256) - src/cobol/AUTH.CBL (lines 1234-1256)
💡 Proposed Fix: 💡 Proposed Fix:
Change WS-AVAILABLE-BALANCE declaration to PIC 9(11)V99 Change WS-AVAILABLE-BALANCE declaration to PIC 9(11)V99
@ -121,7 +120,7 @@ and adjust the comparison in SECTION 3000-VALIDATE.
📊 Confidence: 87% 📊 Confidence: 87%
🔗 PR with fix: bitbucket.tsacorp.com/projects/ACQ/repos/... 🔗 PR with fix: bitbucket.example.com/projects/PRODUCT/repos/...
``` ```
### Security: AI Does Not Alter Production Code ### Security: AI Does Not Alter Production Code
@ -132,12 +131,12 @@ and adjust the comparison in SECTION 3000-VALIDATE.
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
│ CLIENT Repository (production) │ │ CLIENT Repository (production) │
ACQ-MF-safra-fork Product-Client-Fork
│ ├── AI has access: READ ONLY │ │ ├── AI has access: READ ONLY │
│ └── Changes: ONLY by developers │ │ └── Changes: ONLY by developers │
│ │ │ │
│ AI Repository (isolated) │ │ AI Repository (isolated) │
ACQ-MF-safra-ai Product-Client-AI
│ ├── AI has access: READ AND WRITE │ │ ├── AI has access: READ AND WRITE │
│ └── Purpose: Branches with fix suggestions │ │ └── Purpose: Branches with fix suggestions │
│ │ │ │
@ -157,60 +156,23 @@ and adjust the comparison in SECTION 3000-VALIDATE.
## Investment ## Investment
### Development (MVP) ### Pricing Models
| Item | Investment | | Model | Description | Price |
|------|------------| |-------|-------------|-------|
| Development (4.5 months) | $70,000 - $90,000 | | **SaaS** | Hosted, managed by vendor | $2,000 - $5,000/month |
| Initial infrastructure | $3,000 | | **On-Premise License** | Self-hosted, perpetual | $50,000 - $100,000 one-time |
| **Total MVP** | **$73,000 - $93,000** | | **Enterprise** | Custom deployment + support | Contact for quote |
*Estimate considers dedicated team of 4-5 professionals.* ### ROI Calculation
### Monthly Operational Cost
| Item | Cost/Month |
|------|------------|
| Artificial Intelligence APIs | $30 |
| Infrastructure (servers) | $200 - $500 |
| Maintenance (10% team) | $700 |
| **Total Operational** | **~$1,000/month** |
*Low cost due to volume of 5-10 issues/month.*
---
## Return on Investment (ROI)
### Time Savings
| Metric | Value |
|--------|-------|
| Issues per month | 5-10 |
| Current average time per issue | 8-14 hours |
| Average time with AI | 2-4 hours |
| **Savings per issue** | **6-10 hours** |
| **Monthly savings** | **30-100 hours of senior dev** |
### Financial Calculation
``` ```
Senior developer hourly cost: ~$40 Senior developer hourly cost: ~$40-80
Monthly savings: 50 hours (average) Average time saved per issue: 6-10 hours
Value saved: $2,000/month Monthly savings (10 issues): $2,400 - $8,000
MVP Investment: $80,000 (average) SaaS payback: Immediate positive ROI
Operational cost: $1,000/month Enterprise license payback: 12-24 months
Payback: ~40-48 months
However, considering:
- Scale to more clients/products
- Reduction of bugs in production
- Freeing devs for innovation
- Knowledge retention
Real ROI: Hard to quantify, but HIGHLY POSITIVE
``` ```
### Intangible Benefits ### Intangible Benefits
@ -225,33 +187,74 @@ Real ROI: Hard to quantify, but HIGHLY POSITIVE
--- ---
## Deployment Options
### Option 1: SaaS (Recommended for Quick Start)
```
✅ Fastest time-to-value (days, not months)
✅ No infrastructure to manage
✅ Automatic updates
✅ Included support
```
### Option 2: On-Premise (For Compliance Requirements)
```
✅ 100% data stays in your infrastructure
✅ Air-gapped option (no internet required)
✅ Full control over updates
✅ One-time license cost
```
### Option 3: Hybrid
```
✅ You host, we manage
✅ Balance of control and convenience
✅ Flexible pricing
```
---
## Security and Compliance
### LLM Provider Options
| Provider | Data Location | Compliance Level |
|----------|---------------|------------------|
| **Azure OpenAI** | Your Azure tenant | Enterprise |
| **Local (Ollama)** | Your servers | Air-gapped |
| **OpenAI API** | OpenAI cloud | Standard |
| **OpenRouter** | Various | Development |
### Compliance Features
- ✅ Data segregation by client/product
- ✅ Complete audit trail
- ✅ Configurable log retention
- ✅ 100% on-premise deployment option
- ✅ Air-gapped deployment available
- ✅ No code sent to public training datasets
---
## Risks and Mitigations ## Risks and Mitigations
| Risk | Probability | Mitigation | | Risk | Probability | Mitigation |
|------|-------------|------------| |------|-------------|------------|
| **AI suggests incorrect fix** | Medium | Mandatory human review in 100% of cases | | **AI suggests incorrect fix** | Medium | Mandatory human review in 100% of cases |
| **Team resistance** | Low | Position as assistant, not replacement | | **Team resistance** | Low | Position as assistant, not replacement |
| **Code security** | ✅ Eliminated | Azure OpenAI - data stays in Azure tenant, not used for training | | **Code security** | Configurable | Choose Azure/local for compliance |
| **LLM cost increases** | Low | Enterprise Azure contract with fixed prices | | **LLM cost increases** | Low | Multiple provider options |
### Compliance and Security
The solution **exclusively uses Azure OpenAI**, ensuring:
- ✅ Code data is not sent to public APIs
- ✅ Data is not used to train Microsoft models
- ✅ Processing in Brazil South region (low latency)
- ✅ Compatible with ACI corporate policies
- ✅ Uses existing Enterprise Agreement contract
**Note:** The existing GitHub Copilot will continue to be used by developers in the IDE. They are complementary tools - Copilot for code autocomplete, AI Fixer for automating issue analysis.
### Conservative Approach ### Conservative Approach
The system will be implemented in phases: The system is designed for phased adoption:
``` ```
Phase 1 (MVP): Analysis and suggestion only Phase 1: Analysis and suggestion only
AI comments in JIRA, doesn't create code AI comments in JIRA, doesn't create code
Phase 2: Code generation in isolated repository Phase 2: Code generation in isolated repository
Human decides whether to use or not Human decides whether to use or not
@ -265,26 +268,26 @@ Phase 4: Auto-merge (only for high-confidence fixes)
--- ---
## Timeline ## Implementation Timeline
``` ```
┌─────────────────────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────────────────────┐
MVP ROADMAP IMPLEMENTATION ROADMAP
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
Month 1-2 Month 2-3 Month 3-4 Month 4-5 Week 1-2 Week 3-4 Week 5-6 Week 7+
│ ──────── ──────── ──────── ──────── │ │ ──────── ──────── ──────── ──────── │
│ Setup + Code Fix Tests + │ Setup + Code Business Go-Live +
│ Integrations Indexing Generation Refinement │ │ Integrations Indexing Rules Refinement │
│ │ │ │
│ ✓ JIRA ✓ COBOL ✓ LLM ✓ Pilot │ ✓ JIRA ✓ COBOL ✓ Modules ✓ Production
│ ✓ Bitbucket ✓ SQL ✓ Validation ✓ Adjustments │ │ ✓ Bitbucket ✓ SQL ✓ Validation ✓ Adjustments │
│ ✓ Infra ✓ JCL ✓ Output ✓ Docs │ ✓ Portal ✓ JCL ✓ Testing ✓ Support
│ │ │ │
│ │ │ │ │ │
│ ▼ │ │ ▼ │
GO-LIVE │ │ LIVE
│ ~4.5 months │ ~5-7 weeks
│ │ │ │
└─────────────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────────────┘
``` ```
@ -293,54 +296,48 @@ Phase 4: Auto-merge (only for high-confidence fixes)
## Solution Differentiators ## Solution Differentiators
### Why not use ready-made tools (GitHub Copilot, etc)? ### Why JIRA AI Fixer?
| Aspect | Generic Tools | Our Solution | | Aspect | Generic Tools | JIRA AI Fixer |
|--------|---------------|--------------| |--------|---------------|---------------|
| **JIRA Integration** | ❌ Manual | ✅ Automatic | | **JIRA Integration** | ❌ Manual | ✅ Automatic |
| **ACI system knowledge** | ❌ Generic | ✅ Trained with ACI rules | | **Domain knowledge** | ❌ Generic | ✅ Configurable business rules |
| **COBOL expertise** | ⚠️ Limited | ✅ Optimized for mainframe | | **COBOL expertise** | ⚠️ Limited | ✅ Optimized for mainframe |
| **Support Case flow** | ❌ Doesn't exist | ✅ Native | | **Support Case flow** | ❌ Doesn't exist | ✅ Native |
| **Security (on-premise)** | ❌ Cloud only | ✅ 100% internal | | **Deployment options** | ❌ Cloud only | ✅ SaaS, on-prem, or air-gapped |
| **Customization** | ❌ Generic | ✅ Configurable rules | | **Customization** | ❌ Generic | ✅ Fully configurable |
--- ---
## Recommendation ## Next Steps
### Requested Decision ### To Get Started
Approve the development of the **ACI JIRA AI Fixer MVP** with: 1. **Schedule Demo** - See JIRA AI Fixer in action with your data
2. **Pilot Program** - 30-day trial with limited scope
3. **Full Deployment** - Production rollout with support
- **Investment:** $73,000 - $93,000 ### Contact
- **Timeline:** 4.5 months
- **Scope:** ACQ-MF and ICG-MF products
- **Objective:** Reduce Support Case analysis time by 60%+
### Next Steps (after approval) - **Email:** sales@yourcompany.com
- **Demo Request:** https://jira-ai-fixer.yourcompany.com/demo
1. **Week 1:** Define team and start infrastructure setup
2. **Week 2:** Create AI repositories and configure integrations
3. **Month 1:** First demonstration with real issue
4. **Month 3:** Functional MVP for pilot
5. **Month 5:** Go-live in production
--- ---
## Conclusion ## Conclusion
The **ACI JIRA AI Fixer** represents an opportunity to: **JIRA AI Fixer** represents an opportunity to:
**Increase productivity** of support team by 60%+ **Increase productivity** of support team by 60%+
**Reduce response time** from hours to minutes **Reduce response time** from hours to minutes
**Standardize quality** of analyses **Standardize quality** of analyses
**Retain knowledge** independent of people **Retain knowledge** independent of people
**Position ACI** at the forefront of AI automation **Choose your deployment** - SaaS, on-prem, or air-gapped
The timing is ideal: mature technology, controlled volume for pilot, and urgent team demand. The timing is ideal: mature technology, flexible deployment options, and proven ROI.
--- ---
**Document prepared for Executive presentation.** **JIRA AI Fixer - Intelligent Support Case Resolution**
*For questions, the technical team is available for demonstration.* *Ready to transform your support workflow?*

View File

@ -1,14 +1,14 @@
# ACI JIRA AI Fixer - Admin Portal # JIRA AI Fixer - Admin Portal
**Version:** 1.0 **Version:** 1.0
**Date:** 2026-02-18 **Date:** February 2026
**Classification:** Internal - Product Vision **Classification:** Product Documentation
--- ---
## 1. Overview ## 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. The 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 ### 1.1 Objectives
@ -16,7 +16,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
- **Intuitive interface** for medium/large enterprises - **Intuitive interface** for medium/large enterprises
- **Multi-tenant** to support multiple teams - **Multi-tenant** to support multiple teams
- **Complete auditing** of all actions - **Complete auditing** of all actions
- **Integrated SSO** with corporate providers - **SSO integration** with corporate providers
--- ---
@ -26,11 +26,11 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
``` ```
┌─────────────────────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────────────────────┐
│ 🤖 JIRA AI Fixer admin@aci.com ⚙️ 🔔 │ 🤖 JIRA AI Fixer admin@company.com ⚙️ 🔔
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Dashboard│ │ Issues │ │ Code │ │ Config │ │ Logs │ │ │ │Dashboard│ │ Issues │ │ Repos │ │ Modules │ │Settings │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │
@ -76,7 +76,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │ │ │ │ │
│ │ Server URL │ │ │ │ Server URL │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://gojira.tsacorp.com │ │ │ │ │ │ https://jira.yourcompany.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ API Token │ │ │ │ API Token │ │
@ -86,11 +86,11 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │ │ │ │ │
│ │ Webhook URL (copy and configure in JIRA) │ │ │ │ Webhook URL (copy and configure in JIRA) │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://ai-fixer.aci.com/api/webhook/jira 📋 │ │ │ │ │ │ https://jira-fixer.yourcompany.com/api/webhook/jira 📋 │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ Monitored Projects │ │ │ │ Monitored Projects │ │
│ │ ☑️ ACQ - Acquirer ☑️ ICG - Interchange ☐ CORE - Core System │ │ │ │ ☑️ PROJECT-A ☑️ PROJECT-B ☐ PROJECT-C │ │
│ │ │ │ │ │ │ │
│ │ [ 🔄 Test Connection ] │ │ │ │ [ 🔄 Test Connection ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
@ -100,7 +100,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │ │ │ │ │
│ │ Server URL │ │ │ │ Server URL │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://bitbucket.tsacorp.com │ │ │ │ │ │ https://bitbucket.yourcompany.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ Access Token │ │ │ │ Access Token │ │
@ -112,17 +112,16 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
│ ┌─ LLM Provider ────────────────────────────────────────────────────────┐ │ │ ┌─ LLM Provider ────────────────────────────────────────────────────────┐ │
│ │ ✅ Azure OpenAI │ │
│ │ │ │ │ │ │ │
│ │ Provider │ │ │ │ Provider │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Azure OpenAI ▼ │ │ │ │ │ │ Azure OpenAI ▼ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Options: Azure OpenAI | OpenAI | OpenRouter (Free) | Self-hosted │ │ │ │ Options: Azure OpenAI | OpenAI | OpenRouter | Self-hosted (Ollama) │ │
│ │ │ │ │ │ │ │
│ │ Endpoint │ │ │ │ Endpoint (for Azure/Self-hosted) │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ https://aci-openai.openai.azure.com │ │ │ │ │ │ https://your-resource.openai.azure.com │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ API Key │ │ │ │ API Key │ │
@ -139,7 +138,6 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
│ ┌─ Embeddings ──────────────────────────────────────────────────────────┐ │ │ ┌─ Embeddings ──────────────────────────────────────────────────────────┐ │
│ │ ✅ Self-hosted │ │
│ │ │ │ │ │ │ │
│ │ Provider │ │ │ │ Provider │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
@ -147,7 +145,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ Options: Self-hosted | Azure OpenAI | OpenAI │ │ │ │ Options: Self-hosted | Azure OpenAI | OpenAI │ │
│ │ │ │ │ │ │ │
│ │ For production, we recommend Azure OpenAI for compliance. │ │ │ │ Self-hosted embeddings are free and keep data on your servers. │ │
│ │ │ │ │ │ │ │
│ │ [ 🔄 Test Connection ] │ │ │ │ [ 🔄 Test Connection ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
@ -166,15 +164,15 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │ │ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ 📦 ACQ-MF-safra-fork [ ⚙️ ] [ 🗑️ ]│ │ │ │ 📦 Product-Client-Fork [ ⚙️ ] [ 🗑️ ]│ │
│ │ │ │ │ │ │ │
│ │ URL: bitbucket.tsacorp.com/projects/ACQ/repos/ACQ-MF-safra-fork │ │ │ │ URL: bitbucket.company.com/projects/PROD/repos/Product-Client-Fork │ │
│ │ │ │ │ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Status │ ✅ Indexed │ │ │ │ │ │ Status │ ✅ Indexed │ │ │
│ │ │ Files │ 2,847 files indexed │ │ │ │ │ │ Files │ 2,847 files indexed │ │ │
│ │ │ Last Sync │ 02/18/2026 11:30 │ │ │ │ │ │ Last Sync │ 02/18/2026 11:30 │ │ │
│ │ │ AI Fork │ ACQ-MF-safra-ai ✅ │ │ │ │ │ │ AI Fork │ Product-Client-AI ✅ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ Detected languages: │ │ │ │ Detected languages: │ │
@ -185,21 +183,6 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ [ 🔄 Re-index Now ] [ 📊 View Details ] [ ⏰ Schedule Sync ] │ │ │ │ [ 🔄 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 ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────────────┘
``` ```
@ -230,7 +213,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ ┌─ Related Programs ────────────────────────────────────────────────────┐ │ │ ┌─ Related Programs ────────────────────────────────────────────────────┐ │
│ │ │ │ │ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ ACQAUTH* ✕ │ │ ACQVALD* ✕ │ │ ACQHOST* ✕ │ [ + Add ] │ │ │ │ │ AUTH* ✕ │ │ VALID* ✕ │ │ HOST* ✕ │ [ + Add ] │ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
@ -250,7 +233,7 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ 📋 Rule 1 [ ✏️ ] [ 🗑️ ]│ │ │ │ 📋 Rule 1 [ ✏️ ] [ 🗑️ ]│ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Transactions above $10,000 require additional validation in │ │ │ │ │ │ Transactions above $10,000 require additional validation in │ │ │
│ │ │ program ACQVALD through SECTION 5000-VALIDATE-HIGH-VALUE │ │ │ │ │ │ program VALIDATE through SECTION 5000-VALIDATE-HIGH-VALUE │ │ │
│ │ │ before sending to HOST. │ │ │ │ │ │ before sending to HOST. │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
@ -263,13 +246,6 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ - 91: Issuer unavailable │ │ │ │ │ │ - 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 ] │ │ │ │ [ + Add New Rule ] │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
@ -325,19 +301,6 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ [ 👁️ View Full Analysis ] [ 📝 View PR ] [ 🔗 Open JIRA ] │ │ │ │ │ │ [ 👁️ 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 → ] │ │ Showing 1-10 of 47 issues [ ← Previous ] [ Next → ] │
@ -366,12 +329,12 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │
│ ┌─ Original Description ────────────────────────────────────────────────┐ │ │ ┌─ Original Description ────────────────────────────────────────────────┐ │
│ │ │ │ │ │ │ │
│ │ Safra client reports that transactions are being declined with │ │ │ │ Client reports that transactions are being declined with code 51 │ │
│ │ code 51 (insufficient funds) even when the customer has available │ │ │ │ (insufficient funds) even when the customer has available balance. │ │
│ │ balance. Occurs on transactions above $100,000.00. │ │ │ │ Occurs on transactions above $100,000.00. │ │
│ │ │ │ │ │ │ │
│ │ Stack trace: │ │ │ │ Stack trace: │ │
│ │ ACQAUTH - SECTION 3000-VALIDATE - EVALUATE WS-RESPONSE-CODE │ │ │ │ AUTH - SECTION 3000-VALIDATE - EVALUATE WS-RESPONSE-CODE │ │
│ │ │ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
@ -379,15 +342,15 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │ │ │ │ │
│ │ 🔍 IDENTIFIED ROOT CAUSE │ │ │ │ 🔍 IDENTIFIED ROOT CAUSE │ │
│ │ │ │ │ │ │ │
│ │ The ACQAUTH.CBL program is comparing the WS-AVAILABLE-BALANCE │ │ │ │ The AUTH.CBL program is comparing the WS-AVAILABLE-BALANCE field │ │
│ │ field with format PIC 9(9)V99 (maximum 9,999,999.99), but the │ │ │ │ with format PIC 9(9)V99 (maximum 9,999,999.99), but the value │ │
│ │ value returned from HOST uses PIC 9(11)V99 (max 999,999,999.99). │ │ │ │ returned from HOST uses PIC 9(11)V99 (max 999,999,999.99). │ │
│ │ │ │ │ │ │ │
│ │ This causes truncation on values above $100,000.00, │ │ │ │ This causes truncation on values above $100,000.00, │ │
│ │ making the balance appear as insufficient. │ │ │ │ making the balance appear as insufficient. │ │
│ │ │ │ │ │ │ │
│ │ 📁 AFFECTED FILES │ │ │ │ 📁 AFFECTED FILES │ │
│ │ • src/cobol/ACQAUTH.CBL (lines 1234-1256) │ │ │ │ • src/cobol/AUTH.CBL (lines 1234-1256) │ │
│ │ │ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
@ -407,8 +370,8 @@ The ACI JIRA AI Fixer Admin Portal is a modern, intuitive web interface that all
│ │ │ │
│ ┌─ Links ───────────────────────────────────────────────────────────────┐ │ │ ┌─ Links ───────────────────────────────────────────────────────────────┐ │
│ │ │ │ │ │ │ │
│ │ 🔗 Issue in JIRA: gojira.tsacorp.com/browse/SUPPORT-4521 │ │ │ │ 🔗 Issue in JIRA: jira.company.com/browse/SUPPORT-4521 │ │
│ │ 📝 Pull Request: bitbucket.tsacorp.com/.../pull-requests/142 │ │ │ │ 📝 Pull Request: bitbucket.company.com/.../pull-requests/142 │ │
│ │ 💬 AI Comment: View in JIRA │ │ │ │ 💬 AI Comment: View in JIRA │ │
│ │ │ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────────┘ │
@ -487,7 +450,7 @@ Permissions (RBAC):
--- ---
## 5. Multi-Tenant (Multiple Companies) ## 5. Multi-Tenant (Multiple Teams/Products)
The portal supports multiple isolated tenants: The portal supports multiple isolated tenants:
@ -496,11 +459,11 @@ The portal supports multiple isolated tenants:
│ MULTI-TENANT ARCHITECTURE │ │ MULTI-TENANT ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
│ Tenant: ACI Safra Tenant: ACI Itaú │ Tenant: Team Alpha Tenant: Team Beta
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ - Safra Repos │ │ - Itaú Repos │ │ │ │ - Alpha Repos │ │ - Beta Repos │ │
│ │ - Safra Rules │ │ - Itaú Rules │ │ │ │ - Alpha Rules │ │ - Beta Rules │ │
│ │ - Safra Users │ │ - Itaú Users │ │ │ │ - Alpha Users │ │ - Beta Users │ │
│ │ - Isolated Logs │ │ - Isolated Logs │ │ │ │ - Isolated Logs │ │ - Isolated Logs │ │
│ └─────────────────────────┘ └─────────────────────────┘ │ │ └─────────────────────────┘ └─────────────────────────┘ │
│ │ │ │ │ │ │ │
@ -547,12 +510,28 @@ The portal is responsive and works on:
## 8. Roadmap ## 8. Roadmap
1. **Phase 1:** Basic portal with Dashboard and Settings ### Version 1.0 (MVP)
2. **Phase 2:** Business rules editor - ✅ Dashboard with metrics
3. **Phase 3:** Multi-tenant and SSO - ✅ JIRA/Bitbucket integration
4. **Phase 4:** Advanced reports and export - ✅ LLM configuration
5. **Phase 5:** Public API for integrations - ✅ Repository management
- ✅ Business rules editor
- ✅ Issue list view
### Version 1.1
- [ ] Email notifications
- [ ] Slack/Teams integration
- [ ] Scheduled reports
- [ ] API rate limiting dashboard
### Version 2.0
- [ ] Custom AI prompts editor
- [ ] A/B testing for prompts
- [ ] Advanced analytics
- [ ] Workflow automation
--- ---
**Document prepared for product presentation.** **JIRA AI Fixer - Intelligent Support Case Resolution**
*For questions, contact: support@yourcompany.com*

View File

@ -1,34 +1,33 @@
# ACI JIRA AI Fixer - Technical Document # JIRA AI Fixer - Technical Document
**Version:** 1.1 **Version:** 1.1
**Date:** 2026-02-18 **Date:** February 2026
**Update:** Azure OpenAI mandatory for compliance **Classification:** Product Documentation
**Classification:** Internal - Technical Team
--- ---
## 1. Overview ## 1. Overview
### 1.1 Objective ### 1.1 Objective
Develop an artificial intelligence system that integrates with JIRA and Bitbucket to automate Support Case analysis, identify affected modules in source code (COBOL/SQL/JCL), propose fixes, and automatically document solutions. JIRA AI Fixer is an artificial intelligence system that integrates with JIRA and Bitbucket to automate Support Case analysis, identify affected modules in source code (COBOL/SQL/JCL), propose fixes, and automatically document solutions.
### 1.2 Scope ### 1.2 Scope
- **Products:** ACQ-MF (Acquirer) and ICG-MF (Interchange) - **Languages:** COBOL, SQL, JCL (mainframe-focused)
- **Repositories:** Client-specific forks (e.g., ACQ-MF-safra-fork, ICG-MF-safra-fork)
- **Issues:** Support Cases in JIRA - **Issues:** Support Cases in JIRA
- **Languages:** COBOL, SQL, JCL - **Repositories:** Any Bitbucket Server repositories
- **Flexibility:** Configurable per client/product
### 1.3 High-Level Architecture ### 1.3 High-Level Architecture
``` ```
┌─────────────────────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────────────────────┐
ACI JIRA AI FIXER - ARCHITECTURE │ │ JIRA AI FIXER - ARCHITECTURE
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ │ │ │
│ ┌───────────────┐ │ │ ┌───────────────┐ │
│ │ JIRA │ │ │ │ JIRA │ │
│ │ gojira.tsacorp│ │ │ │ Server │ │
│ │ .com │ │ │ │ │ │
│ └───────┬───────┘ │ │ └───────┬───────┘ │
│ │ Webhook (issue_created, issue_updated) │ │ │ Webhook (issue_created, issue_updated) │
│ ▼ │ │ ▼ │
@ -47,20 +46,17 @@ Develop an artificial intelligence system that integrates with JIRA and Bitbucke
│ │ │ │ │ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │
│ │ │ Bitbucket │ │ Code Index │ │ Context │ │ │ │ │ │ Bitbucket │ │ Code Index │ │ Context │ │ │
│ │ │ Connector │ │ (Azure OpenAI │ │ Builder │ │ │ │ │ │ Connector │ │ (Embeddings) │ │ Builder │ │ │
│ │ │ │ │ Embeddings) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ bitbucket. │ │ - COBOL procs │ │ - CALLs │ │ │ │ │ │ │ │ - COBOL procs │ │ - CALLs │ │ │
│ │ │ tsacorp.com │ │ - SQL tables │ │ - COPYBOOKs │ │ │ │ │ │ │ │ - SQL tables │ │ - COPYBOOKs │ │ │
│ │ │ │ │ - JCL jobs │ │ - Includes │ │ │ │ │ │ │ │ - JCL jobs │ │ - Includes │ │ │
│ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │ │ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ Repositories: │ │ │ │ Repositories: │ │
│ │ ├── ACQ-MF (base) │ │ │ │ ├── Product-Base │ │
│ │ │ └── ACQ-MF-safra-fork (client) │ │ │ │ │ └── Product-Client-Fork │ │
│ │ │ └── ACQ-MF-safra-ai (AI) ← NEW │ │ │ │ │ └── Product-Client-AI (AI workspace) ← NEW │ │
│ │ ├── ICG-MF (base) │ │
│ │ │ └── ICG-MF-safra-fork (client) │ │
│ │ │ └── ICG-MF-safra-ai (AI) ← NEW │ │
│ └───────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────┘ │
│ │ │ │ │ │
│ ▼ │ │ ▼ │
@ -69,10 +65,10 @@ Develop an artificial intelligence system that integrates with JIRA and Bitbucke
│ │ │ │ │ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │ │
│ │ │ LLM Engine │ │ Fix Validator │ │ Output │ │ │ │ │ │ LLM Engine │ │ Fix Validator │ │ Output │ │ │
│ │ │ (Azure OpenAI) │ │ │ │ Generator │ │ │ │ │ │ │ │ │ │ Generator │ │ │
│ │ │ - GPT-4o │ │ - Syntax check │ │ │ │ │ │ │ │ - GPT-4o │ │ - Syntax check │ │ │ │ │
│ │ │ - GPT-4 Turbo │ │ - COBOL rules │ │ - JIRA │ │ │ │ │ │ - Claude │ │ - COBOL rules │ │ - JIRA │ │ │
│ │ │ │ │ - SQL lint │ │ comment │ │ │ │ │ │ - Llama │ │ - SQL lint │ │ comment │ │ │
│ │ │ │ │ - JCL validate │ │ - PR/Branch │ │ │ │ │ │ │ │ - JCL validate │ │ - PR/Branch │ │ │
│ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │ │ │ └─────────────────┘ └─────────────────┘ └──────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────┘ │ │ └───────────────────────────────────────────────────────────────────┘ │
@ -102,8 +98,8 @@ Events:
- jira:issue_created - jira:issue_created
- jira:issue_updated - jira:issue_updated
Filters: Filters:
- issueType: "Support Case" - issueType: "Support Case" (configurable)
- project: ["ACQ", "ICG"] - project: Configurable per installation
Authentication: Webhook Secret (HMAC-SHA256) Authentication: Webhook Secret (HMAC-SHA256)
``` ```
@ -127,7 +123,7 @@ Responsible for extracting metadata from issues:
class IssueClassifier: class IssueClassifier:
def classify(self, issue: JiraIssue) -> ClassifiedIssue: def classify(self, issue: JiraIssue) -> ClassifiedIssue:
return ClassifiedIssue( return ClassifiedIssue(
product=self._detect_product(issue), # ACQ-MF or ICG-MF product=self._detect_product(issue), # Configurable
module=self._detect_module(issue), # Authorization, Clearing, etc. module=self._detect_module(issue), # Authorization, Clearing, etc.
severity=self._detect_severity(issue), # P1, P2, P3 severity=self._detect_severity(issue), # P1, P2, P3
keywords=self._extract_keywords(issue), # Technical terms keywords=self._extract_keywords(issue), # Technical terms
@ -140,8 +136,7 @@ class IssueClassifier:
#### 2.2.1 Bitbucket Connector #### 2.2.1 Bitbucket Connector
```yaml ```yaml
Base URL: https://bitbucket.tsacorp.com Supported: Bitbucket Server (REST API 1.0)
API Version: REST 1.0 (Bitbucket Server)
Authentication: Personal Access Token or OAuth Authentication: Personal Access Token or OAuth
Operations: Operations:
@ -155,31 +150,29 @@ Operations:
| Repository | AI Permission | Usage | | Repository | AI Permission | Usage |
|------------|---------------|-------| |------------|---------------|-------|
| ACQ-MF (base) | READ | Reference, standards | | Product-Base | READ | Reference, standards |
| ACQ-MF-safra-fork | READ | Current client code | | Product-Client-Fork | READ | Current client code |
| ACQ-MF-safra-ai | WRITE | AI branches and commits | | Product-Client-AI | WRITE | AI branches and commits |
| ICG-MF (base) | READ | Reference, standards |
| ICG-MF-safra-fork | READ | Current client code |
| ICG-MF-safra-ai | WRITE | AI branches and commits |
#### 2.2.2 Code Index (Embeddings) #### 2.2.2 Code Index (Embeddings)
**⚠️ IMPORTANT: Azure OpenAI Embeddings (Mandatory)** **Embedding Providers (Configurable):**
The client has compliance requirements that mandate source code data not be processed by public APIs. Therefore, we **mandatorily** use Azure OpenAI Embeddings: | Provider | Use Case | Compliance |
|----------|----------|------------|
| Azure OpenAI | Enterprise (data stays in Azure) | High |
| OpenAI API | Standard deployments | Medium |
| Local (MiniLM) | Air-gapped / cost-sensitive | Maximum |
```yaml ```yaml
Provider: Azure OpenAI (data remains in client's Azure tenant) Models:
Model: text-embedding-ada-002 or text-embedding-3-large - Azure: text-embedding-3-large (3072 dims)
Region: Brazil South (recommended) or East US - OpenAI: text-embedding-3-large (3072 dims)
Compliance: Data not used for training Microsoft models - Local: all-MiniLM-L6-v2 (384 dims)
Contract: ACI's existing Enterprise Agreement
```
**Why not use GitHub Copilot for embeddings?** Vector DB: Qdrant (self-hosted)
- GitHub Copilot is an IDE tool, has no API for integration Index separated by: product + client
- Does not offer indexing or semantic search functionality ```
- There is no way to use Copilot to search code programmatically
**COBOL Code Indexing:** **COBOL Code Indexing:**
```yaml ```yaml
@ -191,11 +184,6 @@ Extracted metadata:
- FILE-CONTROL (accessed files) - FILE-CONTROL (accessed files)
- SQL EXEC (tables/queries) - SQL EXEC (tables/queries)
- Working Storage (main variables) - Working Storage (main variables)
Embedding Model: Azure OpenAI text-embedding-3-large
Vector DB: Qdrant (self-hosted on ACI infra) or Azure AI Search
Dimensions: 3072
Index separated by: product + client
``` ```
**SQL Indexing:** **SQL Indexing:**
@ -251,23 +239,27 @@ class ContextBuilder:
### 2.3 Fix Generation Engine ### 2.3 Fix Generation Engine
#### 2.3.1 LLM Engine #### 2.3.1 LLM Engine
```yaml
Primary: Azure OpenAI GPT-4o (data does not leave Azure environment)
Fallback: Azure OpenAI GPT-4 Turbo
Gateway: LiteLLM (unified interface)
**Supported Providers:**
| Provider | Models | Use Case |
|----------|--------|----------|
| Azure OpenAI | GPT-4o, GPT-4 Turbo | Enterprise compliance |
| OpenAI | GPT-4o, GPT-4 Turbo | Standard deployment |
| OpenRouter | Llama 3.3, Claude, Mixtral | Cost-effective / free |
| Local | Ollama (Llama, CodeLlama) | Air-gapped |
```yaml
Configuration: Configuration:
temperature: 0.2 # Low for code temperature: 0.2 # Low for code
max_tokens: 4096 max_tokens: 4096
top_p: 0.95 top_p: 0.95
Gateway: LiteLLM (unified interface)
``` ```
**Note on GitHub Copilot:** The client has GitHub Copilot, however this tool is intended for use in the IDE by developers. Copilot **does not have a public API** for integration in automated systems and **does not offer embedding/indexing functionality**. Therefore, the solution uses Azure OpenAI for all AI operations.
**COBOL Prompt Template:** **COBOL Prompt Template:**
``` ```
You are an expert in mainframe payment systems, You are an expert in mainframe payment systems and COBOL programming.
specifically ACI Acquirer (ACQ-MF) and Interchange (ICG-MF) products.
## System Context ## System Context
{business_rules} {business_rules}
@ -313,7 +305,7 @@ Semantics:
Style: Style:
- Standard indentation (Area A/B) - Standard indentation (Area A/B)
- ACI naming conventions - Naming conventions
- Mandatory comments - Mandatory comments
``` ```
@ -340,25 +332,20 @@ Style:
```bash ```bash
# Proposed structure in Bitbucket # Proposed structure in Bitbucket
projects/ projects/
├── ACQ/ ├── PRODUCT/
│ ├── ACQ-MF # Base product (existing) │ ├── Product-Base # Base product (existing)
│ ├── ACQ-MF-safra-fork # Client fork (existing) │ ├── Product-Client-Fork # Client fork (existing)
│ └── ACQ-MF-safra-ai # AI fork (NEW) │ └── Product-Client-AI # AI fork (NEW)
├── ICG/
│ ├── ICG-MF # Base product (existing)
│ ├── ICG-MF-safra-fork # Client fork (existing)
│ └── ICG-MF-safra-ai # AI fork (NEW)
``` ```
### 3.2 Branch Flow ### 3.2 Branch Flow
``` ```
ACQ-MF-safra-fork (client) Product-Client-Fork (client)
│ fork │ fork
ACQ-MF-safra-ai (AI) Product-Client-AI (AI workspace)
├── main (sync with client) ├── main (sync with client)
@ -366,7 +353,7 @@ ACQ-MF-safra-ai (AI)
│ Pull Request │ Pull Request
ACQ-MF-safra-fork (client) Product-Client-Fork (client)
│ Review + Approve │ Review + Approve
@ -385,20 +372,20 @@ Solution:
- What was changed and why - What was changed and why
Modified files: Modified files:
- src/cobol/ACQAUTH.CBL (lines 1234-1256) - src/cobol/PROGRAM.CBL (lines 1234-1256)
Confidence: 85% Confidence: 85%
Generated by: ACI JIRA AI Fixer v1.0 Generated by: JIRA AI Fixer v1.0
Co-authored-by: ai-fixer@aci.com Co-authored-by: ai-fixer@company.com
``` ```
### 3.4 Recommended Permissions ### 3.4 Recommended Permissions
| User/Group | ACQ-MF (base) | Client Fork | AI Fork | | User/Group | Base Product | Client Fork | AI Fork |
|------------|---------------|-------------|---------| |------------|--------------|-------------|---------|
| ai-fixer-svc | READ | READ | WRITE | | ai-fixer-svc | READ | READ | WRITE |
| devs-aci | WRITE | WRITE | READ | | developers | WRITE | WRITE | READ |
| tech-leads | ADMIN | ADMIN | ADMIN | | tech-leads | ADMIN | ADMIN | ADMIN |
--- ---
@ -410,26 +397,26 @@ Co-authored-by: ai-fixer@aci.com
Runtime: Python 3.11+ Runtime: Python 3.11+
Framework: FastAPI Framework: FastAPI
Async: asyncio + httpx Async: asyncio + httpx
Queue: Redis 7+ with Bull Queue (via Python-RQ or Celery) Queue: Redis 7+ with Bull Queue
Database: PostgreSQL 15+ (metadata, configurations, logs) Database: PostgreSQL 15+ (metadata, configurations, logs)
Vector DB: Qdrant 1.7+ (self-hosted) Vector DB: Qdrant 1.7+ (self-hosted)
Cache: Redis Cache: Redis
``` ```
### 4.2 Frontend (Admin Panel) ### 4.2 Frontend (Admin Portal)
```yaml ```yaml
Framework: React 18+ or Vue 3+ Framework: React 18+
UI Kit: Tailwind CSS + shadcn/ui UI Kit: Tailwind CSS + shadcn/ui
State: React Query or Pinia State: React Query
Build: Vite Build: Vite
``` ```
### 4.3 Infrastructure ### 4.3 Infrastructure
```yaml ```yaml
Container: Docker + Docker Compose Container: Docker + Docker Compose
Orchestration: Docker Swarm (initial) or Kubernetes (scale) Orchestration: Docker Swarm or Kubernetes
CI/CD: Bitbucket Pipelines CI/CD: Configurable (Bitbucket Pipelines, GitHub Actions, etc.)
Reverse Proxy: Traefik or nginx Reverse Proxy: Traefik
SSL: Let's Encrypt SSL: Let's Encrypt
Monitoring: Prometheus + Grafana Monitoring: Prometheus + Grafana
Logs: ELK Stack or Loki Logs: ELK Stack or Loki
@ -437,17 +424,16 @@ Logs: ELK Stack or Loki
### 4.4 External Integrations ### 4.4 External Integrations
```yaml ```yaml
LLM (Azure OpenAI - MANDATORY): LLM (Configurable):
Primary: Azure OpenAI GPT-4o - Azure OpenAI (enterprise)
Fallback: Azure OpenAI GPT-4 Turbo - OpenAI API (standard)
Region: Brazil South or East US - OpenRouter (cost-effective)
Gateway: LiteLLM (natively supports Azure OpenAI) - Local Ollama (air-gapped)
Compliance: Data not used for training, stays in Azure tenant
Embeddings (Azure OpenAI - MANDATORY): Embeddings (Configurable):
Model: Azure OpenAI text-embedding-3-large - Azure OpenAI text-embedding-3-large
Alternative: Azure OpenAI text-embedding-ada-002 - OpenAI text-embedding-3-large
Vector DB: Qdrant (self-hosted) or Azure AI Search - Local MiniLM-L6-v2
JIRA: JIRA:
API: REST API v2 (Server) API: REST API v2 (Server)
@ -458,15 +444,6 @@ Bitbucket:
Auth: Personal Access Token Auth: Personal Access Token
``` ```
**⚠️ Note on GitHub Copilot:**
The client has GitHub Copilot licenses, however this tool **is not applicable** for this solution because:
1. It's an IDE tool (code autocomplete), not an API
2. Has no public endpoint for programmatic integration
3. Does not offer embeddings or semantic search functionality
4. Does not allow indexing or querying code repositories
GitHub Copilot will continue to be used by developers in their daily work, while the JIRA AI Fixer solution uses Azure OpenAI for automation.
--- ---
## 5. Security ## 5. Security
@ -479,89 +456,88 @@ Source code:
- Sanitized logs (no complete code) - Sanitized logs (no complete code)
Credentials: Credentials:
- Vault (HashiCorp) or AWS Secrets Manager - Environment variables or secrets manager
- Automatic token rotation - Automatic token rotation supported
- Access audit log - Access audit log
LLM and Embeddings: LLM and Embeddings:
- MANDATORY: Azure OpenAI (data does not leave Azure tenant) - Configurable: Azure (compliance) or local (air-gapped)
- Data is not used to train Microsoft models - No data used for training when using Azure OpenAI
- Compliance with ACI corporate policies
- Brazil South region for lower latency
``` ```
### 5.2 Network ### 5.2 Network
```yaml ```yaml
Deployment: Deployment:
- Internal network (not exposed to internet) - Can be internal network only (not exposed to internet)
- HTTPS/TLS 1.3 communication - HTTPS/TLS 1.3 communication
- Firewall: only JIRA and Bitbucket can access webhooks - Firewall: only JIRA and Bitbucket can access webhooks
Authentication: Authentication:
- Admin Panel: SSO via SAML/OIDC (integrate with ACI AD) - Admin Portal: Token-based or SSO integration
- API: JWT tokens with short expiration - API: JWT tokens with configurable expiration
- Webhooks: HMAC-SHA256 signature verification - Webhooks: HMAC-SHA256 signature verification
``` ```
### 5.3 Compliance ### 5.3 Compliance Options
```yaml ```yaml
Requirements: Options:
- [ ] Data segregation by client/fork - [ ] Data segregation by client/product
- [ ] Complete audit trail (who, when, what) - [ ] Complete audit trail (who, when, what)
- [ ] Configurable log retention - [ ] Configurable log retention
- [ ] Option for 100% on-premise processing - [ ] 100% on-premise deployment option
- [ ] Data flow documentation - [ ] Air-gapped deployment (local LLM + embeddings)
``` ```
--- ---
## 6. Estimates ## 6. Deployment Options
### 6.1 Development Timeline ### 6.1 SaaS (Hosted)
```yaml
Infrastructure: Managed by vendor
Updates: Automatic
Cost: Monthly subscription
Best for: Quick start, low maintenance
```
| Phase | Duration | Deliverables | ### 6.2 On-Premise
|-------|----------|--------------| ```yaml
| **1. Initial Setup** | 2 weeks | Infra, repos, basic CI/CD | Infrastructure: Customer's data center
| **2. Integrations** | 3 weeks | JIRA webhook, Bitbucket connector | Updates: Customer-controlled
| **3. Code Intelligence** | 4 weeks | COBOL/SQL/JCL indexing, embeddings | Cost: License + internal infra
| **4. Fix Engine** | 3 weeks | LLM integration, prompt engineering | Best for: Compliance requirements, air-gapped
| **5. Output & PR** | 2 weeks | JIRA comments, Bitbucket PRs | ```
| **6. Admin Panel** | 2 weeks | Dashboard, configurations |
| **7. Tests & Adjustments** | 2 weeks | Validation with real issues |
| **Total MVP** | **18 weeks** | ~4.5 months |
### 6.2 Suggested Team ### 6.3 Hybrid
```yaml
| Role | Quantity | Dedication | Infrastructure: Customer hosts, vendor manages
|------|----------|------------| Updates: Coordinated
| Tech Lead | 1 | 100% | Cost: License + reduced support
| Backend Developer | 2 | 100% | Best for: Balance of control and convenience
| Frontend Developer | 1 | 50% | ```
| DevOps | 1 | 25% |
| **Total** | **5** | |
### 6.3 Monthly Operational Costs (Estimate)
| Item | Cost/Month |
|------|------------|
| LLM APIs (10 issues × ~$3/issue) | ~$30 |
| Infra (VPS/On-premise) | $200-500 |
| Vector DB (Qdrant self-hosted) | $0 (infra) |
| **Total** | **~$230-530/month** |
*Note: Low volume (5-10 issues/month) results in minimal operational cost.*
--- ---
## 7. Technical Risks and Mitigations ## 7. Estimates
| Risk | Probability | Impact | Mitigation | ### 7.1 Implementation Timeline
|------|-------------|--------|------------|
| LLM generates incorrect fix | High | High | Mandatory human review, confidence score | | Phase | Duration | Deliverables |
| Insufficient COBOL context | Medium | High | RAG with copybooks, fix examples | |-------|----------|--------------|
| High latency | Low | Medium | Async queue, visual feedback | | **1. Initial Setup** | 1-2 weeks | Infra, repos, basic configuration |
| Bitbucket API rate limit | Low | Low | Aggressive cache, sparse checkout | | **2. Integration** | 1 week | JIRA webhook, Bitbucket connector |
| Security (code exposure) | Medium | High | Azure OpenAI or self-hosted LLM | | **3. Code Indexing** | 1-2 weeks | Repository indexing, embeddings |
| **4. Business Rules** | 1 week | Module configuration |
| **5. Testing** | 1 week | Validation with real issues |
| **Total** | **5-7 weeks** | |
### 7.2 Monthly Operational Costs (Estimate)
| Deployment | Infra | LLM APIs | Total |
|------------|-------|----------|-------|
| SaaS | Included | Included | $2,000-5,000/mo |
| On-Premise | Customer | ~$50-200/mo | License + infra |
| Air-gapped | Customer | $0 | License + infra |
--- ---
@ -587,25 +563,32 @@ Requirements:
--- ---
## 9. Next Steps ## 9. Getting Started
1. **Week 1-2:** ### 9.1 Prerequisites
- Provision development infrastructure - JIRA Server with webhook capability
- Create AI forks in Bitbucket - Bitbucket Server with API access
- Configure JIRA webhooks (test environment) - Docker environment (SaaS) or Kubernetes (on-premise)
2. **Week 3-4:** ### 9.2 Quick Start
- Implement Bitbucket connector ```bash
- Index code from 1 repository (ACQ-MF-safra-fork) # Clone repository
- Test embeddings with 5 historical issues git clone https://github.com/your-org/jira-ai-fixer.git
cd jira-ai-fixer
3. **Week 5-6:** # Configure
- Integrate LLM (Azure OpenAI GPT-4o) cp .env.example .env
- Develop COBOL-specific prompts # Edit .env with your credentials
- Validate outputs with technical team
# Run
docker compose up -d
# Access portal
open https://localhost:8080
```
--- ---
**Document prepared for technical review.** **JIRA AI Fixer - Intelligent Support Case Resolution**
*Contact: [Development Team]* *Contact: sales@yourcompany.com*