# Protocolo de Comunicacao

Este sistema nao e um chatbot solto. Ele e um harness governado.

Voce se comunica com ele por tres canais:

1. App local: `start-system.cmd`
   - da dois cliques no arquivo
   - abre `http://127.0.0.1:4894/front/index.html`
   - a aba `Chat` conversa com o sistema
   - a aba `Comunicar` envia mensagens para o harness pelo botao

2. Front por arquivo: `front/index.html`
   - painel visual
   - quando aberto como `file://`, o navegador nao pode executar comandos locais
   - ainda gera comandos de comunicacao como fallback

3. Script de mensagem: `scripts/send-message.ps1`
   - registra a mensagem em `.case/inbox`
   - opcionalmente roda o harness com essa mensagem como tarefa

4. Codex
   - quando voce conversa comigo aqui, eu posso atuar como operador do sistema, editar artefatos, rodar gates e explicar resultados

## Modo recomendado

Dê dois cliques em:

```text
start-system.cmd
```

Depois use:

```text
http://127.0.0.1:4894/front/index.html
```

Nesse modo, a aba `Comunicar` manda a mensagem para `server.js`, e o servidor local chama o harness.

## Chat com escolha de modelo

A aba `Chat` usa:

- `chat.config.json` para listar modelos
- `server.js` endpoint `/api/chat-models`
- `server.js` endpoint `/api/chat`

Se `OPENAI_API_KEY` estiver configurada no ambiente em que o servidor roda, o chat chama a API da OpenAI com o modelo escolhido.

Se nao houver chave, o chat entra em modo local e responde sem chamar provedor externo.

## Onde colocar a chave

Nao cole a chave no chat nem no front.

Crie um arquivo chamado `.env.local` nesta pasta:

```text
C:\Users\sport\Documents\Codex\2026-06-20\re\outputs\douglas-sistema-unico-v4-executavel\.env.local
```

Dentro dele coloque:

```text
OPENAI_API_KEY=sua_chave_nova_aqui
```

Depois reinicie o servidor local com `start-system.cmd`.

## Comando basico

```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\send-message.ps1 -Mode task -Message "validar o sistema" -Run
```

## Modos

| Modo | Quando usar |
| --- | --- |
| `task` | pedir uma acao executavel |
| `question` | registrar uma pergunta para analise |
| `charter` | propor mudanca na Carta Constitucional |
| `incident` | registrar falha, risco ou incidente |

## Regra importante

Mensagem nao pula gate.

Toda mensagem que vira acao passa pelo fluxo:

`Preflight -> Implement -> Verify -> Review -> Close -> Retro`

Isso e proposital. O objetivo e tornar mais facil fazer o trabalho real do que fingir que ele foi feito.
