Skip to content

ci: ci_invariants.sh quebra com on: string/lista e ignora flag desconhecida #22

Closed

Description

@hbgit

Problema

O script aceita entradas que deveria rejeitar com uma mensagem clara:

  1. on: como string ou lista (on: push, on: [push, pull_request]): gatilhos = wf.get('on', wf.get(True)) or {} (:31) vira str/list, e o próximo .get quebra com AttributeError. Falha alto, mas com traceback em vez de FALHA: ....
  2. Flag desconhecida é ignorada (:195 só procura --checks-obrigatorios em sys.argv[2:]). Com um erro de digitação como --checks-obrigatorio, o script imprime ok: N grupos e sai com 0. Se alguém usar essa saída no PUT da proteção, o JSON sai inválido. A API recusa, mas o erro aparece longe da causa.

Proposta

  • Normalizar on:: se for string ou lista, converter em dict {evento: None}, ou registrar FALHA explícita.
  • Validar sys.argv[2:] contra as flags conhecidas e sair com 2 e uma mensagem de uso quando houver uma desconhecida.

Origem: minor adiado da revisão final do plano docs/superpowers/plans/2026-09-28-ci-correcoes-avaliacao.md (PRs #16 e #18). Relacionado a docs/ci-audit/2026-09-28-avaliacao-ci-develop.md.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions