Cco / docs /PENDENCIAS.md
Gabriel Sapucaia
Deploy CCO Apoena (réplica do cco)
4ce2557 verified
|
Raw
History Blame Contribute Delete
3.39 kB

Pendências — CCO Apoena

Estado: réplica funcional (todos os endpoints respondem 200, dados reais jan–jun/2026). Itens abaixo são melhorias/decisões que ficaram para uma próxima rodada.

Dados / cadastros

  • API REST de cadastros (F2M_BEARER_TOKEN) — as tabelas liberacoes_lavra e teores_ouro (cadastro de liberações + teor de Au por liberação) vêm da API REST *-ws.miningcontrol.cloud/webservice com Bearer JWT. Não temos o token da Apoena nem a URL confirmada. Sem isso, /api/liberacoes retorna painel vazio (degrada gracioso, campo indisponivel). Obter o token e confirmar F2M_API_BASE no tenant Apoena. Obs: o teor de Au já vem na base 7 (pivot_qualidade.AU) — o cadastro REST acrescenta o cruzamento liberação×bancada×validade.

LLM (OpenRouter)

  • OPENROUTER_KEY inválida — a key herdada do cco (sk-or-v1...) retorna 401 "User not found" (revogada/conta inexistente). Afeta /api/analise (análise textual) e o chat LLM — degrada gracioso (fallback heurístico cobre, o painel ainda gera o snapshot). Para reativar a análise por LLM: gerar uma key nova em openrouter.ai e atualizar o secret OPENROUTER_KEY do Space (e o .env.local).

Artefatos calibrados (gerados a partir do DB Apoena)

  • dashboard_apn/equipment_categories.json — classificação produção/marginal/infra (gerado por scripts/classify_equipments.py).
  • viagens_baseline.duckdb — baseline 90d de saúde de viagens (gerado por scripts/build_viagens_baseline.py). Sem ele, /api/viagens_saude = "indisponível".
  • dashboard_apn/thresholds_calibrados.json — percentis de fila/viagens/ciclo p/ recomendações (gerado por dashboard_apn/calibrar_thresholds.py). Há fallbacks embutidos enquanto ausente.
  • cycle_benchmarks.json — regressão cota×dmt×ciclo. O de Almas (50.8-0.111*cota+1.017*dmt) não vale para Apoena. Recalibrar. Atenção: em Apoena cota extraída de LIB_<NNNN> é id de liberação, não cota métrica — a regressão precisa de outra variável ou recalibração.

Não portados (decisão de escopo)

  • Deploy HF — feito: Space gabrielsapucaia02/cco-apn (público, RUNNING) via scripts/deploy_hf.py. Writer autossuficiente (DB embutido + poll F2M).
  • GPS / câmeras: removidos por escopo (Sorteio de Pesagem depende de GPS — removido junto).
  • seed_equipamento_perfil.py: as listas nominais (cemitério/quadrantes/reincidentes) são conhecimento manual de Almas. equipamento_perfil fica vazio → enriquecimento de relatórios apenas não adiciona tags (sem quebrar). Repovoar com radiografia da Apoena se desejado.
  • Tests (tests/): suíte do cco não portada (fixtures dependem de schema/dados Almas).

Limpezas opcionais

  • dashboard_apn/static/index.html: as views ocultas (Mapa, Viagens, Câmeras, Pesagem) ainda têm DOM morto com onclick para funções removidas. São inalcançáveis (sem aba) e protegidas por type-guards — não chamam endpoints mortos. Remover num passo de limpeza se quiser.
  • dashboard_apn/recomendacoes_*.py: alguns comentários/docstrings ilustrativos ainda citam nomes de equipamento de Almas ('EH 087'). Não afeta execução.
  • scout_apoena.py (raiz): probe inicial de descoberta das bases. Pode ser removido (scripts/validate_schema.py cobre o profiling).