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:
parent
0a825a51e8
commit
e00c9db939
|
|
@ -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.*
|
|
||||||
|
|
@ -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.**
|
|
||||||
|
|
@ -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]*
|
|
||||||
|
|
@ -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?*
|
||||||
|
|
@ -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*
|
||||||
|
|
@ -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*
|
||||||
Loading…
Reference in New Issue