Baseline v2.0.0-dev: fork de ampmInsights_V1

- Copia integral de ampmInsights_V1/ (docs/ + sql/), que o usuário confirma
  ser exatamente o que foi usado para construir e implementar
  ampmInsights_V1_Cliente no cliente.
- Traz docs/10-carga-cmdb-vulnerabilidades.html de V1_Cliente (existia lá,
  faltava em V1 — gap de conteúdo, não só de tom).
- Rebrand mecânico 'Documentação V1' -> 'Documentação V2' nas 10 páginas de
  docs + link de navegação para o capítulo 10 adicionado onde faltava.
- ampmInsights_V1/ e ampmInsights_V1_Cliente/ ficam congelados a partir de
  agora (réplica validada, já implementada no cliente) — todo o trabalho de
  v2.0.0 (schema aditivo: ALTER/MERGE, sem DROP) acontece nesta pasta.
- Adiciona TASKS.md e CHANGELOG.md próprios desta geração.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 11:21:14 -03:00
commit 24a1c8bb6a
17 changed files with 82082 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ampmInsights &middot; Passo a passo da aplicação APEX</title>
<meta name="description" content="Como importar e configurar a aplicação APEX ampmInsights (app 100).">
<link rel="stylesheet" href="assets/main.css">
</head>
<body>
<div class="layout">
<aside class="sidebar">
<div class="brand">
<span class="oracle">ORACLE</span>
<span class="name">ampmInsights</span>
</div>
<button class="menu-toggle" type="button">Menu &#9776;</button>
<div class="kicker">Documentação V2 &middot; AM/PM</div>
<ul class="nav-list">
<li><a class="" href="index.html"><span class="step-no">1</span>Visão geral</a></li>
<li><a class="" href="02-arquitetura.html"><span class="step-no">2</span>Arquitetura</a></li>
<li><a class="" href="03-pre-requisitos-credenciais.html"><span class="step-no">3</span>Pré-requisitos & credenciais</a></li>
<li><a class="" href="04-passo-a-passo-banco.html"><span class="step-no">4</span>Passo a passo: banco de dados</a></li>
<li><a class="active" href="05-passo-a-passo-apex.html"><span class="step-no">5</span>Passo a passo: aplicação APEX</a></li>
<li><a class="" href="06-validacao-testes.html"><span class="step-no">6</span>Validação & testes</a></li>
<li><a class="" href="07-seguranca-boas-praticas.html"><span class="step-no">7</span>Segurança & boas práticas</a></li>
<li><a class="" href="08-glossario-roadmap.html"><span class="step-no">8</span>Glossário & roadmap</a></li>
<li><a class="" href="09-operacao-observabilidade.html"><span class="step-no">9</span>Operação & observabilidade</a></li>
<li><a class="" href="10-carga-cmdb-vulnerabilidades.html"><span class="step-no">10</span>Carga: CMDB & Vulnerabilidades</a></li>
</ul>
<div class="sidebar-footer">
Vulnerability &amp; Audit AI Insights<br>
Oracle AI Database 26ai &middot; AI Vector Search<br>
Versão V1 &middot; ambiente reprodutível do cliente
</div>
</aside>
<main class="content">
<p class="page-kicker">Script 2 de 2</p>
<h1>Passo a passo: aplicação APEX</h1>
<p class="lede">Importação, configuração de credenciais do APEX e primeira carga de dados da aplicação ampmInsights.</p>
<ol class="steps">
<li><h4>Criar (ou reutilizar) um workspace APEX</h4><p>No serviço APEX do Autonomous Database, crie um workspace e associe o schema <code>AMPMINSIGHTS</code> criado no script 1.</p></li>
<li><h4>Acessar o workspace</h4><p>Faça login no App Builder com um usuário de desenvolvedor do workspace.</p></li>
<li><h4>Importar o app</h4><p>App Builder &rarr; Import &rarr; selecione <code>sql/02_ampminsights_apex_app.sql</code>.</p></li>
<li><h4>Instalar</h4><p>Na tela de instalação, confirme que o <strong>parsing schema</strong> é <code>AMPMINSIGHTS</code> e finalize com "Run and Build".</p></li>
<li><h4>Preencher credenciais/remote servers do APEX</h4><p>Em Shared Components &rarr; Credentials, edite <code>apex_cred</code> e <code>RAG_CRED</code> com o OCID do tenancy. Em Shared Components &rarr; Remote Servers, edite <code>apex_genai</code> e ajuste o <code>compartmentId</code> em "AI Attributes" para o OCID real do compartimento.</p></li>
<li><h4>Executar a aplicação</h4><p>Abra a aplicação 100 (ampmInsights) pela primeira vez.</p></li>
<li><h4>Carregar CMDB</h4><p>Use a tela de Data Load de CMDB para subir a planilha/CSV de ativos.</p></li>
<li><h4>Carregar vulnerabilidades</h4><p>Use a tela de Data Load de vulnerabilidades (export do Tenable ou equivalente).</p></li>
<li><h4>Gerar insights em lote</h4><p>Acione o botão de processamento em lote — ele cria um job via <code>DBMS_SCHEDULER</code> que roda <code>PRC_26AI_TECH</code> para os registros pendentes.</p></li>
<li><h4>Testar o chat / RAG</h4><p>Use a tela de "fale com os dados" para validar que a busca semântica está retornando os relatórios corretos.</p></li>
</ol>
<div class="callout info">
<div class="callout-title">Login inicial</div>
<p>A tela de login gera uma senha inicial por usuário e exige troca no primeiro acesso (fluxo já
existente na aplicação). Ajuste o texto de contato exibido na tela de login (atualmente um
placeholder <code>admin@ampminsights.example.com</code>) para o e-mail real da equipe responsável
na AM/PM antes de publicar para os usuários finais.</p>
</div>
<div class="callout danger">
<div class="callout-title">Configurar o domínio de e-mail antes de liberar o cadastro</div>
<p>O fluxo de "solicitar acesso" só cria a conta e envia a senha inicial se o e-mail informado
bater com um domínio específico — no export original, esse domínio estava fixo em
<code>@oracle.com</code>. Foi substituído por
<code>@&lt;SUBSTITUA-PELO-DOMINIO-CORPORATIVO-DA-AMPM.COM.BR&gt;</code>. Antes de divulgar o app aos
usuários finais, edite essa regra (página de solicitação de acesso, ação
"NATIVE_EXECUTE_PLSQL_CODE") com o domínio de e-mail real da AM/PM — do contrário, ninguém
conseguirá se autoprovisionar.</p>
</div>
<div class="pillnav"><a class="prev" href="04-passo-a-passo-banco.html">&larr; Passo a passo: banco de dados</a><a class="next" href="06-validacao-testes.html">Validação & testes &rarr;</a></div>
</main>
</div>
<script src="assets/main.js"></script>
</body>
</html>