verification-gate
Verify before claiming success. Use when about to say something works/is done, after implementing a feature, after a bugfix, or before pushing — run the proof command and confirm output first.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- verification-gate
- description
- Verify before claiming success. Use when about to say something works/is done, after implementing a feature, after a bugfix, or before pushing — run the proof command and confirm output first.
02 资源文件 1
- 参考文档reference/import-verification.md1.2 KB
03 SKILL.md 正文
Verification Gate
Verificação obrigatória antes de qualquer claim de sucesso. NUNCA afirme que algo funciona sem evidência fresca.
"NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE"
O Processo Gate (5 Passos)
Antes de afirmar status, "pronto" ou satisfação:
- IDENTIFICAR — qual comando prova sua claim? (tabela abaixo)
- RODAR — execute completamente e freshly (não use cache mental).
- LER — leia o output COMPLETO e os exit codes.
- VERIFICAR — o output suporta a claim? (tabela de evidência abaixo)
- CLAIM — só APÓS confirmação, afirme sucesso.
Comando por tipo de claim (v2 = Docker-only, CP-01)
| Claim | Comando | Evidência necessária |
|---|---|---|
| "Testes passam" | docker exec aprender_dev-web-1 pytest apps/core/tests/ -v |
passed + exit code 0 |
| "Sem erros pyright" | cd v2/backend && pyright apps/core config |
0 errors no output |
| "Build frontend OK" | cd v2/frontend && npm run build |
exit code 0, sem erros |
| "Lint passa" | cd v2/frontend && npm run lint |
exit code 0 |
| "Migration OK" | docker exec aprender_dev-web-1 python manage.py migrate --check |
exit code 0 |
| "Bug corrigido" | o teste que falhava agora passa | passed no teste-alvo |
| "CI passou" | gh pr checks PR_NUMBER |
todos os checks verdes |
Red Flags — Linguagem Proibida antes de verificar
"should work" / "deve funcionar" · "probably" / "provavelmente" · "seems fine" / "parece ok" · "I think" / "acho que" · "Done!" / "Pronto!" (sem evidência) · "Great!" / "Ótimo!" (sem rodar teste).
Checklist por tipo de tarefa
Após implementar feature:
docker exec aprender_dev-web-1 pytest apps/core/tests/test_FEATURE.py -v
cd v2/backend && pyright apps/core config
cd v2/frontend && npm run lint # se tocou frontend
Após fix de bug (reproduzir → corrigir → confirmar):
docker exec aprender_dev-web-1 pytest apps/core/tests/test_BUG.py -x # deve FALHAR antes do fix
docker exec aprender_dev-web-1 pytest apps/core/tests/test_BUG.py -v # deve PASSAR depois
Antes de push (o CI roda os mesmos gates — rode local primeiro):
docker exec aprender_dev-web-1 pytest apps/core/tests/ -v
cd v2/backend && pyright apps/core config
cd v2/frontend && npm run lint && npm run build
Após import (export-contract / DRF): ver reference/import-verification.md.
Exemplo: errado vs. certo
❌ ERRADO:
Implementei a feature de bloqueio parcial. Os testes devem passar agora.
✅ CORRETO:
Implementei a feature de bloqueio parcial.
$ docker exec aprender_dev-web-1 pytest apps/core/tests/test_availability_service.py -v
15 passed in 2.3s
$ cd v2/backend && pyright apps/core config
0 errors, 0 warnings
Testes passam e type check OK.
Quatro modos de falsa verificação (medidos em 2026-08)
Rodar o comando não basta se a leitura da saída estiver errada. Estes quatro produzem evidência que parece boa:
exit != 0sem ler o motivo. Um teste de âncora quebrada reprovou — por link não-encontrado, não por âncora. Não exercitava o que dizia.- Asserção negativa satisfeita por saída vazia. Cinco testes passaram antes de a implementação existir. Prove que a coisa foi medida antes de afirmar que ela não apareceu.
- Contar palavra-chave em vez de ler a afirmação.
"EM DRIFT" not in saidareprovava com a saída correta, porque o resumo diz0 em drift. E um texto que NEGA a mentira contém as mesmas palavras — cometido três vezes. - Passar por acidente do ambiente. Um teste do caminho «sem API» assumia que
ghnão existe; no runner existe. Force a condição, não torça por ela.
Detalhe e casos: gate-calibration/reference/medicao.md.
04 同仓库更多 Skills
writing-standards
Apply AS v2 technical-writing standards (clarity, brevity, active voice, Python/Django conventions). Use when writing a README, a docstring (PEP 257), a commit message, a PR description, an error message, or any technical doc.
test-driven-development
Write the failing test before the implementation in AS v2 (pytest + Django/DRF). Use when implementing a feature or fixing a bug, before any production code is written.
subagent-development
Orquestra subagents no AS v2 — decompõe a tarefa em domínios independentes, paraleliza e revisa em 2 estágios. Use ao delegar exploração, implementação ou validação cross-arquivo para acelerar o trabalho e poupar o contexto principal.
security-scan
Automated security scanning for AS v2. Use before commits or when reviewing changes for vulnerabilities. Runs dependency audit (pip-audit, npm audit), secret detection (grep patterns), and code pattern scanning (SQL injection, XSS, eval, pickle, hardcoded secrets). Integrates with project hooks system.
resume-handoff
Resume work from a saved handoff document, validating its state against the current codebase before continuing. Use when resuming work from a saved handoff after a context clear or in a new session (path, session name, or GitHub issue).
receiving-code-review
Triage and respond to code review feedback for AS v2. Use when a PR has review comments, the user shares feedback, CI/linting flags issues, or after /review-staged or /review-enhanced runs.