node:test

O que a suíte valida antes de confiar nos dados.

O modo offline prova contratos, roteamento, SQL, escopo e transformações locais. O modo live confirma que os comandos documentados continuam executando contra o Oracle DV com a sessão atual.

12/12

testes offline passaram

13/13

testes live passaram

0

falhas na última execução

2026-04-26

data registrada

Metodologia

Os testes usam node:test. Eles leem SKILL.md, references/script-catalog.md, references/initial-context-catalog.md e references/api-map.md como fonte da verdade, evitando uma cópia paralela de parâmetros e regras dentro da própria suíte.

Offline

Não chama o Oracle DV. Testa se a CLI escolhe o caminho certo, monta os filtros certos e preserva o contrato de saída.

Live

Chama o Oracle DV com --no-cache. O runtime de autenticação é copiado para uma área temporária de teste.

Testes offline

Estes testes respondem: "a skill monta a consulta e a resposta certas?". Eles não provam disponibilidade do Oracle DV nem volume real de dados.

Teste Objetivo Entrada Resultado esperado Saída observada Status Avaliação
date-window Validar atalhos de data e rejeição de combinações inválidas. resolveDateWindow com --date, --month, --quarter, --week e conflito. Ranges conforme catálogo e erro para argumentos conflitantes. single=2026-05-02; month=2026-04-01..2026-04-30; quarter=2026-03-01..2026-05-31; week=2026-03-22..2026-03-28; inválido rejeitado. PASS Correto.
sa-attach-defaults Confirmar defaults e aliases de SA Attach vindos do catálogo inicial. parseSaAttachDefaults, parseSaAttachAliases e resolveSaAttachFilters. Cluster, soluções, status, LOBs, tipos de receita e aliases aplicados. cluster=Brazil; solutions=3; statuses=3; aliases validados. PASS Correto.
current-workload-defaults Verificar os defaults dos intents de workload atual. applyCurrentWorkloadIntentDefaults para owner atual e mês explícito. current-quarter, Cloud Infrastructure - Workloads e WORKLOAD; mês explícito preservado. quarter=current-quarter; solution=Cloud Infrastructure - Workloads; revenueTypeGroup=WORKLOAD; mês preservado. PASS Correto.
sa-attach-window-sql Evitar regressão no campo usado para filtro de close date. buildSaAttachOpportunityWhereClauses com janela 2026-03-01..2026-05-31. Usar Revenue Line Close Date, incluir forecast/owner e não usar Revenue Line Close Year. Campo correto usado; forecast/owner incluídos; Revenue Line Close Year ausente. PASS Correto.
scope-sql Validar regras de escopo org-wide e my-team nos SQLs gerados. renderViewSql para Presales Aux, Hours e srs-by-resource-email. Org-wide sem SEC_ARIA; my-team com SEC_ARIA; SR por recurso usa levels 1..4; lead só quando explícito. Regras confirmadas para org-wide, my-team, SR team e lead explícito. PASS Correto.
current-team-summary Garantir que oportunidades sem cobertura do time continuam no resultado misto. summarizeCurrentTeamOpportunityCoverage com 2 oportunidades e 1 cobertura. 2 records; 1 matched; 1 unmatched; totais comerciais preservados. records=2; matched=1; unmatched=1; totalWorkload=125000. PASS Correto.
manager-resource-summary Validar resumo org-wide por manager/recurso e enriquecimento opcional com SRs. summarizeOrgWideRevenueLineCoverage com cobertura Aux e cenário com SR injetado. Recursos preservados; SR omitido por padrão; SR direto e candidato interno distinguidos quando injetados. defaultResourceDetails=2; SR omitido; linkage direct-plus-candidate-internal; resourcesMatched=2. PASS Correto.
api-metrics Confirmar que métricas contam linhas brutas do backend, não cache local. buildApiMetrics com resultados de 3 + 2 linhas e uma leitura local. totalRowsPulledFromApi=5; cache local ignorado no total. totalRowsPulledFromApi=5; queries=3; cache local ignorado. PASS Correto.
sales prompt commands Verificar se prompts comuns viram comandos CLI curtos, diretos e documentados. Casos de tests/prompts/sales-prompts.json. Um modo por comando; sem discovery desnecessário; flags documentadas; intents citados nas referências. Todos os prompts seguiram o contrato esperado. PASS Correto.
people examples Evitar e-mails fake hard-coded nos prompts de teste. Serialização dos prompts e placeholders esperados. Usar placeholders como {{resourceManagerEmail}}, {{territoryOwnerEmail}} e {{resourceMember}}. Placeholders dinâmicos encontrados; e-mails fake padrão não apareceram. PASS Correto.
intent CLI contract Garantir que comandos de intent batem com o contrato exposto pela própria CLI. --list-parameters e --describe-intent para intents usados nos prompts. Flags existem no catálogo global e no contrato do intent; defaults atuais documentados. Contratos bateram; defaults de workload atual e descrição do intent manager/resource validados. PASS Correto.
ad-hoc-query Confirmar que query ad hoc renderiza como leitura org-wide de oportunidades. --query --select opportunityId,customerName,closeDate,bookingValue,workloadAmount --where "closeDate = DATE '2026-05-02'" --render-sql. Modo query; escopo org-wide; fonte comercial primária; sem SEC_ARIA; aliases documentados. Query org-wide renderizada na fonte comercial primária, sem fallback para DV - SE Team. PASS Correto.

Testes live

Estes testes confirmam execução real contra o Oracle DV com --no-cache. A tabela mostra os prompts com placeholders, porque os e-mails reais são resolvidos dinamicamente durante a execução.

Caso Prompt executado Objetivo Comando validado Resultado esperado Última saída Status Escopo
generic-pipeline Me traga o pipeline de oportunidades no Knowledge One View. Validar leitura genérica de pipeline. --intent opportunities-default --limit 1000 Fonte comercial primária, org-wide, sem fallback, pelo menos 100 registros. records=1000; apiRows=1000. PASS Knowledge DV - Opportunities - V2; org-wide.
exact-close-date Quais oportunidades fecham em 2026-05-02? Validar close date exato. --intent opportunities-close-date --date 2026-05-02 --limit 1000 Fonte comercial primária, org-wide, sem fallback, pelo menos 1 registro. records=11; apiRows=11. PASS Knowledge DV - Opportunities - V2; org-wide.
calendar-month Quais oportunidades fecham em abril de 2026? Validar janela de mês calendário. --intent opportunities-close-month --month 2026-04 --limit 1000 Fonte comercial primária, org-wide, sem fallback, pelo menos 11 registros. records=1000; apiRows=1000. PASS Knowledge DV - Opportunities - V2; org-wide.
manager-week Quais oportunidades do manager {{resourceManagerEmail}} fecham na week 43? Validar oportunidades por manager de recurso em uma week. --intent opportunities-by-manager-close-window --manager-email {{resourceManagerEmail}} --week w43 --week-year 2025 --limit 10 Comercial org-wide com alocação via Presales Aux; sem fallback. records=10; apiRows=11. PASS Opportunities org-wide + Presales Involvement Aux org-wide.
owner-workload-current Me mostre os workloads em forecast agora do vendedor {{territoryOwnerEmail}}. Validar workloads em forecast para vendedor. --intent workloads-by-owner-current --owner-email {{territoryOwnerEmail}} --forecast-type Forecast --limit 10 Fonte comercial primária, org-wide, sem fallback. records=1; apiRows=1. PASS Knowledge DV - Opportunities - V2; org-wide.
owner-manager-workload-current Quais workloads em forecast agora dos owners abaixo de {{territoryManagerEmail}}? Validar workloads para owners sob manager comercial. --intent workloads-by-owner-manager-current --owner-manager-email {{territoryManagerEmail}} --forecast-type Forecast --limit 10 Fonte comercial primária, org-wide, sem fallback. records=9; apiRows=9. PASS Knowledge DV - Opportunities - V2; org-wide.
manager-resource-next-7-days Workloads com close date nos próximos 7 dias em oportunidades com recursos abaixo de {{resourceManagerEmailA}} e {{resourceManagerEmailB}}. Validar workloads próximos por managers de recurso. --intent workloads-by-manager-resource-close-window --manager-email-list {{resourceManagerEmailList}} --from-date today --to-date +7d --limit 10 Comercial org-wide, alocação org-wide por Presales Aux, sem consultas a DV - SE Team. records=4; apiRows=15. PASS Opportunities org-wide + Presales Involvement Aux org-wide.
resource-srs Quais SRs estão com {{resourceMember}} agora? Validar busca de SRs por recurso. --intent srs-by-resource --resource {{resourceMember}} --limit 10 Leitura em DV - SE Team, escopo my-team-only, array de records válido. records=0; apiRows=0. PASS DV - SE Team; my-team-only.
current-team-close-window Quais oportunidades fecham nos próximos 4 dias e têm recursos do meu time? Validar oportunidades org-wide enriquecidas com recursos do time atual. --intent opportunities-current-team-close-window --from-date today --to-date +4d --limit 10 Escopo mixed-consistent; oportunidades org-wide; recursos do time atual; linhas sem match preservadas. records=10; apiRows=12. PASS Opportunities org-wide + resources current team.

Como executar

Rode a partir de /Users/marceloarbore/.codex/skills/knowledge-one-view-cli. Nesta máquina, o shell do agente usou o Node do runtime do Codex porque node não estava no PATH.

node tests/run.mjs
KNOWLEDGE_ONE_VIEW_LIVE=1 \
ORACLE_SI_RUNTIME_HOME=/Users/marceloarbore/code/fusion/knowledge-one-view-cli/runtime \
node tests/run.mjs
/Users/marceloarbore/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node tests/run.mjs
node:test

Qué valida la suite antes de confiar en los datos.

El modo offline prueba contratos, ruteo, SQL, alcance y transformaciones locales. El modo live confirma que los comandos documentados siguen ejecutándose contra Oracle DV con la sesión actual.

12/12

pruebas offline aprobadas

13/13

pruebas live aprobadas

0

fallas en la última ejecución

2026-04-26

fecha registrada

Metodología

Las pruebas usan node:test. Leen SKILL.md, references/script-catalog.md, references/initial-context-catalog.md y references/api-map.md como fuente de verdad, evitando duplicar parámetros y reglas dentro de la suite.

Offline

No llama a Oracle DV. Verifica que la CLI elija el camino correcto, arme filtros correctos y preserve el contrato de salida.

Live

Llama a Oracle DV con --no-cache. El runtime de autenticación se copia a un área temporal de prueba.

Pruebas offline

Estas pruebas responden: "la skill arma la consulta y la respuesta correctas?". No prueban disponibilidad de Oracle DV ni volumen real de datos.

Prueba Objetivo Entrada Resultado esperado Salida observada Status Evaluación
date-window Validar atajos de fecha y rechazo de combinaciones inválidas. resolveDateWindow con --date, --month, --quarter, --week y conflicto. Rangos según catálogo y error para argumentos conflictivos. single=2026-05-02; month=2026-04-01..2026-04-30; quarter=2026-03-01..2026-05-31; week=2026-03-22..2026-03-28; inválido rechazado. PASS Correcto.
sa-attach-defaults Confirmar defaults y aliases de SA Attach desde el catálogo inicial. parseSaAttachDefaults, parseSaAttachAliases y resolveSaAttachFilters. Cluster, soluciones, status, LOBs, tipos de ingreso y aliases aplicados. cluster=Brazil; solutions=3; statuses=3; aliases validados. PASS Correcto.
current-workload-defaults Verificar los defaults de los intents de workload actual. applyCurrentWorkloadIntentDefaults para owner actual y mes explícito. current-quarter, Cloud Infrastructure - Workloads y WORKLOAD; mes explícito preservado. quarter=current-quarter; solution=Cloud Infrastructure - Workloads; revenueTypeGroup=WORKLOAD; mes preservado. PASS Correcto.
sa-attach-window-sql Evitar regresión en el campo usado para filtro de close date. buildSaAttachOpportunityWhereClauses con ventana 2026-03-01..2026-05-31. Usar Revenue Line Close Date, incluir forecast/owner y no usar Revenue Line Close Year. Campo correcto usado; forecast/owner incluidos; Revenue Line Close Year ausente. PASS Correcto.
scope-sql Validar reglas de alcance org-wide y my-team en SQL generado. renderViewSql para Presales Aux, Hours y srs-by-resource-email. Org-wide sin SEC_ARIA; my-team con SEC_ARIA; SR por recurso usa levels 1..4; lead solo si es explícito. Reglas confirmadas para org-wide, my-team, SR team y lead explícito. PASS Correcto.
current-team-summary Garantizar que oportunidades sin cobertura del equipo continúan en el resultado mixto. summarizeCurrentTeamOpportunityCoverage con 2 oportunidades y 1 cobertura. 2 records; 1 matched; 1 unmatched; totales comerciales preservados. records=2; matched=1; unmatched=1; totalWorkload=125000. PASS Correcto.
manager-resource-summary Validar resumen org-wide por manager/recurso y enriquecimiento opcional con SRs. summarizeOrgWideRevenueLineCoverage con cobertura Aux y escenario con SR inyectado. Recursos preservados; SR omitido por defecto; SR directo y candidato interno distinguidos cuando se inyectan. defaultResourceDetails=2; SR omitido; linkage direct-plus-candidate-internal; resourcesMatched=2. PASS Correcto.
api-metrics Confirmar que métricas cuentan filas brutas del backend, no cache local. buildApiMetrics con resultados de 3 + 2 filas y una lectura local. totalRowsPulledFromApi=5; cache local ignorado en el total. totalRowsPulledFromApi=5; queries=3; cache local ignorado. PASS Correcto.
sales prompt commands Verificar si prompts comunes se convierten en comandos CLI cortos, directos y documentados. Casos de tests/prompts/sales-prompts.json. Un modo por comando; sin discovery innecesario; flags documentadas; intents citados en referencias. Todos los prompts siguieron el contrato esperado. PASS Correcto.
people examples Evitar e-mails fake hard-coded en los prompts de prueba. Serialización de prompts y placeholders esperados. Usar placeholders como {{resourceManagerEmail}}, {{territoryOwnerEmail}} y {{resourceMember}}. Placeholders dinámicos encontrados; e-mails fake estándar no aparecieron. PASS Correcto.
intent CLI contract Garantizar que comandos de intent coinciden con el contrato expuesto por la CLI. --list-parameters y --describe-intent para intents usados en prompts. Flags existen en el catálogo global y en el contrato del intent; defaults actuales documentados. Contratos coinciden; defaults de workload actual y descripción del intent manager/resource validados. PASS Correcto.
ad-hoc-query Confirmar que query ad hoc renderiza como lectura org-wide de oportunidades. --query --select opportunityId,customerName,closeDate,bookingValue,workloadAmount --where "closeDate = DATE '2026-05-02'" --render-sql. Modo query; alcance org-wide; fuente comercial primaria; sin SEC_ARIA; aliases documentados. Query org-wide renderizada en la fuente comercial primaria, sin fallback a DV - SE Team. PASS Correcto.

Pruebas live

Estas pruebas confirman ejecución real contra Oracle DV con --no-cache. La tabla muestra los prompts con placeholders porque los e-mails reales se resuelven dinámicamente durante la ejecución.

Caso Prompt ejecutado Objetivo Comando validado Resultado esperado Última salida Status Alcance
generic-pipeline Me traga o pipeline de oportunidades no Knowledge One View. Validar lectura genérica de pipeline. --intent opportunities-default --limit 1000 Fuente comercial primaria, org-wide, sin fallback, al menos 100 registros. records=1000; apiRows=1000. PASS Knowledge DV - Opportunities - V2; org-wide.
exact-close-date Quais oportunidades fecham em 2026-05-02? Validar close date exacto. --intent opportunities-close-date --date 2026-05-02 --limit 1000 Fuente comercial primaria, org-wide, sin fallback, al menos 1 registro. records=11; apiRows=11. PASS Knowledge DV - Opportunities - V2; org-wide.
calendar-month Quais oportunidades fecham em abril de 2026? Validar ventana de mes calendario. --intent opportunities-close-month --month 2026-04 --limit 1000 Fuente comercial primaria, org-wide, sin fallback, al menos 11 registros. records=1000; apiRows=1000. PASS Knowledge DV - Opportunities - V2; org-wide.
manager-week Quais oportunidades do manager {{resourceManagerEmail}} fecham na week 43? Validar oportunidades por manager de recurso en una week. --intent opportunities-by-manager-close-window --manager-email {{resourceManagerEmail}} --week w43 --week-year 2025 --limit 10 Comercial org-wide con asignación por Presales Aux; sin fallback. records=10; apiRows=11. PASS Opportunities org-wide + Presales Involvement Aux org-wide.
owner-workload-current Me mostre os workloads em forecast agora do vendedor {{territoryOwnerEmail}}. Validar workloads en forecast para vendedor. --intent workloads-by-owner-current --owner-email {{territoryOwnerEmail}} --forecast-type Forecast --limit 10 Fuente comercial primaria, org-wide, sin fallback. records=1; apiRows=1. PASS Knowledge DV - Opportunities - V2; org-wide.
owner-manager-workload-current Quais workloads em forecast agora dos owners abaixo de {{territoryManagerEmail}}? Validar workloads para owners bajo manager comercial. --intent workloads-by-owner-manager-current --owner-manager-email {{territoryManagerEmail}} --forecast-type Forecast --limit 10 Fuente comercial primaria, org-wide, sin fallback. records=9; apiRows=9. PASS Knowledge DV - Opportunities - V2; org-wide.
manager-resource-next-7-days Workloads com close date nos próximos 7 dias em oportunidades com recursos abaixo de {{resourceManagerEmailA}} e {{resourceManagerEmailB}}. Validar workloads próximos por managers de recurso. --intent workloads-by-manager-resource-close-window --manager-email-list {{resourceManagerEmailList}} --from-date today --to-date +7d --limit 10 Comercial org-wide, asignación org-wide por Presales Aux, sin consultas a DV - SE Team. records=4; apiRows=15. PASS Opportunities org-wide + Presales Involvement Aux org-wide.
resource-srs Quais SRs estão com {{resourceMember}} agora? Validar búsqueda de SRs por recurso. --intent srs-by-resource --resource {{resourceMember}} --limit 10 Lectura en DV - SE Team, alcance my-team-only, array de records válido. records=0; apiRows=0. PASS DV - SE Team; my-team-only.
current-team-close-window Quais oportunidades fecham nos próximos 4 dias e têm recursos do meu time? Validar oportunidades org-wide enriquecidas con recursos del equipo actual. --intent opportunities-current-team-close-window --from-date today --to-date +4d --limit 10 Alcance mixed-consistent; oportunidades org-wide; recursos del equipo actual; filas sin match preservadas. records=10; apiRows=12. PASS Opportunities org-wide + resources current team.

Cómo ejecutar

Ejecutar desde /Users/marceloarbore/.codex/skills/knowledge-one-view-cli. En esta máquina, el shell del agente usó Node del runtime de Codex porque node no estaba en el PATH.

node tests/run.mjs
KNOWLEDGE_ONE_VIEW_LIVE=1 \
ORACLE_SI_RUNTIME_HOME=/Users/marceloarbore/code/fusion/knowledge-one-view-cli/runtime \
node tests/run.mjs
/Users/marceloarbore/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node tests/run.mjs