Skip to content

Compass™ — Publicações Estratégicas

Visão Geral

O Compass™ é a linha editorial estratégica do Grupo CSV para análises técnico-estratégicas em saúde. A fórmula institucional canônica é “Compass™ — um produto do Grupo CSV | Responsabilidade editorial: MedValor®”. AxiaCare® permanece visível como responsável pela elaboração e pela aplicação prática nas consultorias e assessorias, conforme o contexto de cada edição.

CampoEstado Verificado em Produção
URL Públicahub.grupocsv.com/compass/
Fonte Canônicacompass/edicoes/<ano>/<número>/ no repositório grupocsv/hub
Publicação WebVitePress, derivada automaticamente em docs/compass/
PDFA4 determinístico por Playwright/Chromium em runtime Docker isolado
Catálogodocs/compass/catalog.json, derivado dos metadados de cada edição
Edição Nativa v2008/2026, publicada e ativa no motor v2
Edições Migradas001–007, publicadas e ativas após os marcos M6–M8
Acervo no Motor v2001–008, com oito releases v2 ativos e oito baselines preservadas
Backendcsv-documents publicado; migration 0021 aplicada; catálogo e releases tenant-first ativos
AdminConsulta somente leitura pela sessão humana; mutações restritas ao workflow protegido
n8nFora do caminho crítico; nenhuma alteração realizada

Fonte Única e Artefatos Derivados

A fonte editorial de uma edição v2 fica em compass/edicoes/<ano>/<número>/. O arquivo metadata.yml identifica a edição, as marcas, o status e os artefatos. O conteúdo semântico fica em compass.md ou em componente Vue namespaceado quando o layout editorial exige estrutura paginada completa. PDF e release.json integram a mesma árvore versionada.

O comando npm run compass:publish sincroniza apenas edições com schema v2 para docs/compass/. Em seguida, npm run compass:catalog deriva o catálogo público. A sidebar é construída a partir desse catálogo; não existe uma segunda lista manual de edições.

ArtefatoOrigemFunção
metadata.ymlFonte GitContrato editorial e identidade imutável da edição
compass.md ou componente VueFonte GitConteúdo semântico e apresentação web
compass_<número>_<ano>.pdfRender determinísticoDownload A4 da edição
release.jsonGate de releaseChecksums, versões do motor e procedência
docs/compass/catalog.jsonDerivadoNavegação, Admin e integração do Hub

Motor Web e PDF

O componente global CompassEdition.vue aplica a moldura editorial comum. A edição 008 usa o modo paged, com CSS global namespaceado, para preservar integralmente as 23 páginas editoriais sem duplicar capa ou contracapa. O modo de leitura web permanece responsivo; as regras A4 são ativadas somente na mídia de impressão.

O PDF é renderizado por scripts/compass-v2/render-pdf.mjs. O wrapper pdf-runtime.sh executa Chromium em container efêmero fixado por digest, sem instalar bibliotecas no host. Os gates verificam conteúdo obrigatório, paridade web/PDF, PDF.js, acessibilidade, contraste, screenshots, quantidade de páginas, tamanho máximo, checksums, overflow documental e distribuição legível das colunas de referências no mobile.

ComandoResultado
npm run compass:publishPublica a árvore derivada das fontes v2
npm run compass:catalogRegenera o catálogo determinístico
npm run compass:testExecuta contratos de schema, catálogo, Admin, runtime e tema
npm run compass:test:pdfExecuta a integração PDF no runtime isolado
npm run compass:release-planValida baseline, candidatos e rollback e gera um plano offline sem mutações remotas
npm run docs:buildPublica fontes, atualiza catálogo e compila o Hub

Backend e Downloads

O Compass™ estende o Worker documental existente; não cria Worker paralelo. A migration aditiva 0021_create_compass_catalog.sql introduz as tabelas tenant-first compass_editions, compass_releases e compass_release_activations. Uma edição referencia um documento PDF de documents; cada release referencia uma versão imutável de document_versions. Os bytes continuam no R2 privado do csv-documents, sem duplicação.

A publicação é bifásica. A preparação valida a versão PDF e registra checksums sem mover ponteiros. A ativação atualiza atomicamente compass_editions.active_release_id e documents.current_version_id, com precondição otimista, idempotência, auditoria, outbox e histórico append-only. O rollback reativa um release anterior pelo mesmo mecanismo.

Os downloads reutilizam document_public_links e GET/HEAD /s/{slug}. Range, revogação, rate limit, no-store, noindex e Content-Disposition continuam sob o contrato documental. A API Compass™ não retorna object_key, token de storage ou credencial de serviço.

Estado operacional: A migration 0021 foi aplicada e o Worker foi publicado pelo workflow protegido. O D1 mantém oito releases v2 ativos, oito baselines superseded e 16 links públicos versionados preservados. A WAF de release está desabilitada, com definição canônica íntegra; a Queue documental está ativa e sem backlog.

Admin do Hub

A aba Compass™ do Admin lista edições, status, release ativo, versões, checksums e links públicos. O navegador usa somente a sessão humana existente em csv-auth para consultar /v1/compass/*. Respostas 401, 403, 503 e falhas de rede possuem estados distintos; uma negativa de permissão não encerra uma sessão válida.

O painel Compass™ permanece somente leitura por desenho operacional. Publicações e ativações são executadas exclusivamente pelo workflow protegido e pelo runbook de rollback. Nenhuma chave de serviço é enviada ao navegador.

Compatibilidade e Migração Histórica

As edições 001–007 foram migradas e validadas nos marcos M6–M8; a edição 008 é nativa v2. As oito edições estão publicadas e ativas. Cada marco preservou o conteúdo, a URL histórica e o PDF original na proveniência, além de produzir metadados e checksums no contrato v2. A numeração cruzada dos PDFs históricos 005/006 foi detectada a partir dos próprios artefatos, registrada em migration.numberingCorrection e corrigida nos PDFs v2 sem alterar os slugs públicos. Os assets históricos da edição 003 também foram incorporados à fonte canônica e permanecem acessíveis na experiência web.

O motor v2 é o caminho ativo para as edições 001–008. O gerador FPDF v1 permanece congelado apenas para reprodutibilidade histórica e rollback documental; não gera nem atualiza releases v2.

CI, AI Search e Sistemas Relacionados

O workflow de deploy executa os testes Compass™ antes do VitePress, rejeita deriva entre a fonte e docs/compass/ e verifica a presença das páginas e PDFs 001–008, o catálogo exato, o limite de 4 MB e a aba do Admin no artefato final. O workflow sync-r2-ai-search.yml inclui arquivos PDF, aplica o mesmo limite, cria um job oficial em /ai-search/instances/hub-csv/jobs e acompanha sua conclusão. Depois de ended_at, o gate aguarda queued=0 e running=0 e exige error=0 e outdated=0.

Open Pages permanece dedicado à publicação de HTML e assets independentes. O csv-gateway não é necessário para o primeiro release porque o csv-documents possui domínio próprio e autenticação existente. A Queue e a DLQ documentais não recebem jobs Compass™ no M5, pois não existe etapa assíncrona necessária. O n8n não integra o caminho crítico e não foi alterado.

Segurança e Operação

Nenhuma migration, binding, bucket, Queue, rota de gateway, RLS ou dado produtivo deve ser alterado sem autorização explícita. O release do Worker ocorre somente pelo workflow manual e protegido do repositório backend; wrangler deploy direto é proibido. O release do Hub ocorre pelo workflow do repositório após revisão dupla e preservação dos caminhos públicos. A credencial temporária usada na ingestão inicial foi revogada e não integra o runtime.

Referências Técnicas

DocumentoEscopo
Central Compass™Índice público derivado do catálogo e acesso às edições
docs/_infra/projetos/compass-v2/prd.mdCritérios e marcos M0–M10
docs/_infra/projetos/compass-v2/baseline.mdURLs, hashes e renders históricos congelados
docs/_infra/projetos/compass-v2/runbook-release-rollback.mdAutorização, release bifásico, validação pós-deploy e rollback
docs/_infra/projetos/compass-v2/qa-m9-release-production.mdEvidência sanitizada do release e da estabilização em produção
docs/_infra/central-documentos.mdControl plane documental e links públicos
grupocsv/backend/workers/csv-documents/README.mdAPI, schema, release e limites operacionais do Worker