[
 {
  "chave": "CS-28",
  "territorio": "frontend",
  "titulo": "OS TOKENS CHEGAM AO OLHO: o tokens.css carrega UMA vez no layout raiz, e os comentarios que o mantiveram fora deixam de mentir (regras 79 a 86)",
  "escopo_paths": [
   "frontend/src/app/layout.tsx",
   "frontend/src/componentes/base/index.ts",
   "frontend/e2e/tokens-servidos.spec.ts"
  ],
  "aceites": [
   "cd frontend && npx playwright test e2e/tokens-servidos.spec.ts --reporter=line",
   "cd frontend && npx playwright test e2e/tokens-servidos.spec.ts --reporter=line -g 'a folha servida em / define todas as md-sys que usa'",
   "cd frontend && npx playwright test e2e/tokens-servidos.spec.ts --reporter=line -g 'a folha servida em /entrar define todas as md-sys que usa'",
   "cd frontend && npx playwright test e2e/tokens-servidos.spec.ts --reporter=line -g 'nenhum comentario afirma coisa falsa sobre onde o tokens.css e importado'",
   "grep -q \"^import '@/estilo/tokens.css';\" frontend/src/app/layout.tsx",
   "! grep -q 'nao existe' frontend/src/app/layout.tsx",
   "cd frontend && npx playwright test e2e/tokens-servidos.spec.ts --reporter=line && npx playwright test --reporter=line"
  ],
  "depende_de": []
 },
 {
  "chave": "CS-29",
  "territorio": "frontend",
  "titulo": "A NAVEGACAO POR PAPEL NA CASCA: cada um dos quatro papeis ve SO as suas portas, nenhuma delas da 403, e as orfas deliberadas ficam ESCRITAS (regra 55)",
  "escopo_paths": [
   "frontend/src/componentes/casca/",
   "frontend/src/lib/navegacao.ts",
   "frontend/e2e/navegacao.spec.ts"
  ],
  "aceites": [
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'a secretaria alcanca por clique UPAs, Aulas e Sistema'",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'o coordenador alcanca os seus pedidos e nao ve porta da secretaria'",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'o medico ve Calendario, e Aula ao vivo so quando ha aula a correr'",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'o especialista alcanca as suas questoes e nao ve porta de outro papel'",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'a navegacao nao oferece as orfas deliberadas'",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line -g 'cada entrada do menu bate com o Papeis do controlador do servidor'",
   "test -f frontend/src/lib/navegacao.ts && grep -q 'ORFAS_DELIBERADAS' frontend/src/lib/navegacao.ts",
   "cd frontend && npx playwright test e2e/navegacao.spec.ts --reporter=line && npx playwright test --reporter=line"
  ],
  "depende_de": ["CS-28"]
 },
 {
  "chave": "CS-30",
  "territorio": "frontend",
  "titulo": "AS DUAS TELAS QUE O DONO VE PRIMEIRO GANHAM FORMA: a raiz e a entrada compoem-se com as pecas de componentes/base e os tokens, sem CSS solto (regras 84, 85)",
  "escopo_paths": [
   "frontend/src/app/page.tsx",
   "frontend/src/app/raiz.module.css",
   "frontend/src/app/entrar/",
   "frontend/e2e/raiz.spec.ts",
   "frontend/e2e/entrada.spec.ts"
  ],
  "aceites": [
   "cd frontend && npx playwright test e2e/raiz.spec.ts --reporter=line",
   "cd frontend && npx playwright test e2e/raiz.spec.ts --reporter=line -g 'a raiz veste-se com as pecas de componentes/base'",
   "cd frontend && npx playwright test e2e/raiz.spec.ts --reporter=line -g 'a entrada veste-se com Campo e Botao de componentes/base'",
   "cd frontend && npx playwright test e2e/raiz.spec.ts --reporter=line -g 'o botao de entrar a trabalhar nao muda de largura'",
   "grep -q 'componentes/base' frontend/src/app/page.tsx",
   "grep -q 'componentes/base' frontend/src/app/entrar/page.tsx",
   "cd frontend && npx playwright test e2e/raiz.spec.ts --reporter=line && npx playwright test --reporter=line"
  ],
  "depende_de": ["CS-28"]
 },
 {
  "chave": "CS-31",
  "territorio": "frontend",
  "titulo": "A MEDIDA DO CONJUNTO: o medico chega por CLIQUE a sala do ao vivo e a gravacao a partir do calendario, e a CONTAGEM por papel fecha sem orfa por acidente",
  "escopo_paths": [
   "frontend/src/app/calendario/",
   "frontend/e2e/calendario.spec.ts",
   "frontend/e2e/alcance.spec.ts"
  ],
  "aceites": [
   "cd frontend && npx playwright test e2e/alcance.spec.ts --reporter=line",
   "cd frontend && npx playwright test e2e/alcance.spec.ts --reporter=line -g 'a contagem: cada um dos quatro papeis alcanca por clique todos os ecras do seu papel'",
   "cd frontend && npx playwright test e2e/alcance.spec.ts --reporter=line -g 'as orfas sao exactamente as deliberadas'",
   "cd frontend && npx playwright test e2e/calendario.spec.ts --reporter=line -g 'a aula que decorre agora leva a sala do ao vivo'",
   "cd frontend && npx playwright test e2e/calendario.spec.ts --reporter=line -g 'a aula realizada com gravacao leva ao leitor'",
   "cd frontend && npx playwright test e2e/alcance.spec.ts --reporter=line && npx playwright test --reporter=line"
  ],
  "depende_de": ["CS-29"]
 }
]
