Files
EvandroandClaude Opus 5.5 f2db2d69da refactor(skills): cut the workflows to ~100 lines and scale phases by tier
Each workflow was ~300 lines of grep-count "VERIFICAR" steps and ran every
phase for every request. Phases now state their minimum tier, checks are the
quality gate plus real tools, detail moved to references/, and machine-specific
paths and non-public skills are gone. Security references move to OWASP Top
10:2025, ASVS 5.0 and the OWASP LLM Top 10.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-24 21:52:06 -03:00

1.7 KiB

EARS: requisitos com ID

EARS (Easy Approach to Requirements Syntax) força cada requisito a ter gatilho e resposta verificáveis. Um requisito por linha, ID estável REQ-NNN, nunca reaproveitado.

Padrão Forma Exemplo
Ubíquo THE SYSTEM SHALL REQ-001: THE SYSTEM SHALL registrar toda alteração de preço com autor e data.
Evento WHEN THE SYSTEM SHALL REQ-002: WHEN o usuário envia o formulário de cadastro THE SYSTEM SHALL responder 201 com o ID criado.
Indesejado IF <condição> THEN THE SYSTEM SHALL REQ-003: IF o token expirou THEN THE SYSTEM SHALL responder 401 sem revelar se a conta existe.
Estado WHILE THE SYSTEM SHALL REQ-004: WHILE a fila tiver mais de 1000 itens THE SYSTEM SHALL recusar novos jobs com 429.
Opcional WHERE THE SYSTEM SHALL REQ-005: WHERE o SSO estiver habilitado THE SYSTEM SHALL ocultar o login por senha.

Não funcionais

Mesmo formato de ID, sempre com número e forma de medir:

REQ-010: THE SYSTEM SHALL responder GET /orders em p95 < 250 ms com 200 req/s (medido com k6).
REQ-011: THE SYSTEM SHALL manter 99,9% de disponibilidade mensal (SLO no monitoramento).
REQ-012: THE SYSTEM SHALL atender ASVS 5.0 nível L2 nos capítulos de autenticação e sessão.
REQ-013: THE SYSTEM SHALL carregar a página inicial com LCP <= 2,5 s e INP <= 200 ms (Lighthouse CI).

Rastreabilidade

Cada teste cita o ID que prova, no nome ou num comentário:

def test_req_003_token_expirado_retorna_401():
    ...

Com [spec] no .dev-workflows.toml, o gate nível 3 falha se algum REQ- da spec não aparecer em nenhum arquivo de teste.