## Goal

Corrigir a página pública de detalhe de evento (`/agenda/{slug}`), que exibe um heading placeholder **"Título da Página"** acima do conteúdo real.

**Reprodução (evidência coletada em 2026-08-17):**
- `GET /agenda/o-futuro-e-agora-congresso-de-tecnologia-sucesu-ba` → HTML contém:
  - `V2/layouts/portal/main-section/main-header.blade.php:18` → `<h1>{{ $title ?? 'Título da Página' }}</h1>`
  - `<h1 class="evento-title">O Futuro é AGORA: ...</h1>` (título real) logo abaixo.
- O AX tree revela **dois H1**: "Título da Página" e o título real do evento.

**Causa raiz:**
- `V2/Modules/Publicacoes/Agenda/Views/portal/show.blade.php` define `'showMainHeader' => true` no `@extends('v2-portal::app-layout', [...])` mas **não passa `title`**.
- `partials/portal-content.blade.php:48` inclui `main-section.main-header` sem injetar `$title`; o partial usa `$title ?? 'Título da Página'`.
- Outras views com `showMainHeader` (historia, sobre-nos, associe-se, fale-conosco) definem `$title` em bloco `@php` — por isso não apresentam o bug.

**Solução esperada:**
- Em `show.blade.php` do Agenda, passar `'title' => $evento->title` no array do `@extends` (via `$pageTitle`/variável própria) **ou** definir `showMainHeader => false` (o artigo já possui seu próprio `<h1 class="evento-title">` e o breadcrumb continua).
- Decisão: como o evento já tem H1 próprio no corpo, o ideal é `showMainHeader => false` + manter breadcrumbs. Se o layout exigir o header, passar `title` correto e `description` opcional.
- Verificar as demais views com `showMainHeader => true` para garantir que todas passam `title` (auditoria rápida por grep).

## Non-Goal

- Não alterar o layout global `main-header.blade.php` (usado por outras páginas).
- Não alterar o template de listagem `/agenda`.
- Não mudar o breadcrumb/estrutura de Schema.org do evento.
- Sem refatoração de nomes de rotas.

## Constraints

PHP 7.4 | PHPUnit ~6.0. Nunca commitar. Model: UUID, SoftDeletes.
Use o X-CMS-AI-Token do ai_acess definido no .env para ter livre acesso ao CMS a nível de UI/UX
SniffCSS habilitado em MCP e Host para consulta da página real
Docker only. execute via docker compose exec app [command]

## Success Criteria

1. `GET /agenda/{slug}` não contém mais o texto "Título da Página" (grep no HTML) e exibe **um único H1** (o título do evento) no AX tree.
2. Breadcrumbs de `/agenda/{slug}` continuam corretos (Agenda → Página do evento).
3. SniffCSS confirma H1 único e sem heading placeholder na página de detalhe.
4. Teste feature novo: página de detalhe de evento não contém "Título da Página" e tem exatamente 1 H1.
5. Suíte V2 Unit não regride (0 novas falhas).

================================================================================

# RESULT-LOG

```
Status: Concluído
Date: 2026-08-17
Sub-tasks: 3/3 (passar title no show do evento, corpo H1→H2, auditoria demais views)
Files modified: 7 (agenda show, lgpd, acessibilidade, mapa_site, ouvidoria,
               trabalhe-conosco success)
Seeds closed: 1/1 (sucesu-1dc1)
Outcome: /agenda/{slug} sem "Título da Página" e com 1 H1 único (main-header).
         Auditoria revelou mesmo placeholder em lgpd/acessibilidade/mapa-do-site/
         ouvidoria/trabalhe-conosco-success — todos corrigidos (passar title).
Notes:
  - Decisão do usuário: PASSAR title=$evento->title (não showMainHeader=false).
  - Body do evento: <h1 class="evento-title"> → <h2 class="evento-title"> (mantém
    estilo via .evento-title; único H1 passa a ser o do main-header).
  - TrabalheConosco show usa @section('main-header-area') próprio (sem placeholder);
    success foi corrigido (passa title).
  - Testes: tests/Feature/V2/Modules/Publicacoes/Agenda/EventoPortalShowTest.php
    (2 testes, 7 asserts) — sem placeholder, exatamente 1 H1, breadcrumb com título.
  - Validação real (curl): placeholder=0, H1 count=1, H1 = título do evento.
  - AX tree (após): 1 heading top-level (H1) + 3 H2. Screenshots antes/depois em
    sniff-report/evidence/sucesu-1dc1/ (antes tinha "Título da Página" no header;
    depois mostra o título do evento; breadcrumb ativo agora exibe o título real).
  - Observação: breadcrumb da agenda-detail ficou com o título do evento no item
    ativo (trail Agenda > Evento > Este Evento) — semanticamente correto.
```

================================================================================

# AI-AREA

```
1. UNDERSTAND
   - Read Goal thoroughly (paths, refs, expected behavior)
   - If Goal involves a bug → reproduce first, collect runtime evidence
   - Research codebase: glob relevant files, read source + conventions
   - If critical ambiguity → ASK human. Minor → ASSUME + document.

2. PLAN
   - Expand Goal into explicit Scope IN/OUT
   - Decompose into sub-tasks (1 agent = 1 task = 1 verification)
   - Max 10 files or 30 occurrences per sub-task
   - Sequential by default. Parallel only if independent.
   - Register: sd create → sd plan create → sd plan adopt → sd sync

3. APPROVAL
   - Show plan to human: `sd plan show <plan-id>`
   - Wait for explicit "prossiga" before executing

4. EXECUTE
   - For each sub-task sequentially:
     a. Delegate to coder via task tool
     b. Verify against Success Criteria
     c. IF implementation involves UI, verify with SniffCSS (MCP || CLI command)
     d. IF fail any verify → correction sub-task, repeat 4a
     e. sd close <seed-id> --reason "[result]"

5. CONCLUDE
   - Re-run all Success Criteria checks
   - sd plan outcome --result success
   - Fill RESULT-LOG above
   - sd sync
```