fix(generate-docs): OpenAPI contra o Postgres do job e docstrings atrás de docs_docstrings [INFRA-70010] #155

Merged
tmf-ia merged 2 commits from fix/INFRA-70010-generate-docs-openapi into develop 2026-10-27 19:29:47 -03:00
Owner

O quê

Conserta o reusável generate-docs.yml. [INFRA-70010]

  1. OpenAPI contra o Postgres descartável do job. O passo não definia POSTGRES_URL e o import app.main do HelpCor levantava RuntimeError (contorno no caller: openapi: false). Com openapi: true (padrão), sobe o mesmo Postgres do docs_schema_snapshot (servicos-efemeros.sh) e o novo subcomando docs-schema-descartavel.sh openapi exporta POSTGRES_URL = DATABASE_URL do efêmero, com a mesma guarda tmf-ci-svc-pg-*. Sem banco → ::error::. Sem continue-on-error.
  2. Docstrings atrás de docs_docstrings (chave do ci-config, padrão false; schema + exemplo + ci_config.py). O extract_docstrings gerava docs/modulos/<m>/api-internal.md fora do mapa-alvo e sem front-matter (o 1º PR chore(docs) reprovaria no verificar-docs estrito). A chave é reservada: ligada, recusa com ::error:: até o destino da referência gerada (ADR 0012, emenda de 14/10) ser definido.

Custo

Todo produto com openapi: true passa a subir um Postgres efêmero no job de docs (o generate-docs roda no workflow de docs do produto, não em todo PR).

Testes

  • tests/generate-docs: 36 OK (7 novos); tests/ci-config: 183 OK.
  • Suíte inteira na imagem tmf-ci-python:3.12-20261009-2e51884: todas OK. bash -n e YAML válidos.

Fora deste PR

Critério "Generate Docs verde no HelpCor sem openapi: false" se prova no HelpCor depois da release do ci-shared (a sessão do HelpCor tira o contorno).

🤖 Generated with Claude Code

https://claude.ai/code/session_01ES1xwVdpQV69zEsuLLKzx2

## O quê Conserta o reusável `generate-docs.yml`. [INFRA-70010] 1. **OpenAPI contra o Postgres descartável do job.** O passo não definia `POSTGRES_URL` e o `import app.main` do HelpCor levantava `RuntimeError` (contorno no caller: `openapi: false`). Com `openapi: true` (padrão), sobe o **mesmo** Postgres do `docs_schema_snapshot` (`servicos-efemeros.sh`) e o novo subcomando `docs-schema-descartavel.sh openapi` exporta `POSTGRES_URL` = `DATABASE_URL` do efêmero, com a mesma guarda `tmf-ci-svc-pg-*`. Sem banco → `::error::`. **Sem `continue-on-error`.** 2. **Docstrings atrás de `docs_docstrings`** (chave do `ci-config`, padrão `false`; schema + exemplo + `ci_config.py`). O `extract_docstrings` gerava `docs/modulos/<m>/api-internal.md` fora do mapa-alvo e sem front-matter (o 1º PR `chore(docs)` reprovaria no verificar-docs estrito). A chave é **reservada**: ligada, recusa com `::error::` até o destino da referência gerada (ADR 0012, emenda de 14/10) ser definido. ## Custo Todo produto com `openapi: true` passa a subir um Postgres efêmero no job de docs (o generate-docs roda no workflow de docs do produto, não em todo PR). ## Testes - `tests/generate-docs`: 36 OK (7 novos); `tests/ci-config`: 183 OK. - Suíte inteira na imagem `tmf-ci-python:3.12-20261009-2e51884`: todas OK. `bash -n` e YAML válidos. ## Fora deste PR Critério "Generate Docs verde no HelpCor sem `openapi: false`" se prova no HelpCor depois da release do ci-shared (a sessão do HelpCor tira o contorno). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01ES1xwVdpQV69zEsuLLKzx2
tmf-ia merged commit dbaf22529d into develop 2026-10-27 19:29:47 -03:00
Sign in to join this conversation.
No reviewers
No labels
seguranca
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
TMF/ci-shared!155
No description provided.