O que você não decidiu, o agente decide.
Modelos, armazenamento, camadas: o que você não especificou fica com ele.
A camada de controle contínuo entre intenção e implementação
Agentes reescrevem seu software todos os dias. O Noema mantém em vigor a intenção que você escreveu: você a vê e pode mudá-la.
Escreva em Markdown, com suas palavras. O que você não especificar, o agente decide.O agente implementa dentro do que a sua intenção permite.Para cada trecho, veja a implementação, as evidências e o que merece atenção.Mude uma frase ou converse com o agente: ele propõe uma edição, e você revisa e decide.
Problema 01
Você ainda precisa explicar o sistema em reuniões, rastrear problemas em incidentes e decidir conforme a arquitetura evolui, sem ter escrito o código linha a linha.
AntesLendo as mudanças do agente
export function streak(days: Date[], tz: string) { let n = 0; for (const d of sortedDesc(days)) { if (!isNextDay(d, n, tz)) break; n++; } return n;}export function computeStreak(entries: CheckIn[], now: Date, tz: string): number { const days = new Set(entries.map((e) => toLocalDay(e.at, tz))); let cursor = toLocalDay(now, tz); let count = 0; while (days.has(cursor)) { count += 1; cursor = prevDay(cursor); } return count;} const REWARD_AT = 7;if (streak(days, tz) >= 7) grantReward(user);export async function maybeReward(user: User, streak: number) { if (streak < REWARD_AT || user.rewards.has("streak-7")) return; await rewards.grant(user.id, "streak-7"); await notify(user.id, { kind: "reward", id: "streak-7" });} export const STREAK_WINDOW_DAYS = 400;AgoraAbra a nota de uma intenção
Após uma sequência de 7 dias, dê uma recompensa ao usuário.
1computeStreak converte cada registro de check-in em um dia do calendário no fuso horário do usuário, remove duplicatas e conta de trás para frente a partir de hoje, parando no primeiro dia sem registro. Perdeu um dia, a sequência volta a zero.
Quando a sequência chega a REWARD_AT (7), maybeReward concede uma recompensa streak-7 e avisa o usuário. Quem já a resgatou não a recebe duas vezes.
Escolha-chave Contagem por dia do calendário, não por 24 horas; o fuso horário vem das configurações do dispositivo.
streak.test.ts cobre 7 dias seguidos, um dia perdido e check-ins repetidos no mesmo dia; os 3 casos passamViajar entre fusos horários ou fazer check-in depois da meia-noite pode ser lido como sequência quebrada; hoje ela segue o fuso do dispositivo. Escrever isso na intenção?
Regras 02
O Noema não substitui o julgamento do agente. Ele só guarda estes três limites.
Modelos, armazenamento, camadas: o que você não especificou fica com ele.
O que você escreveu nunca é ignorado nem reescrito em silêncio.
Tudo o que afeta experiência, risco ou custo fica à vista.
Autonomia 03
Ele não é dono de como você se expressa nem de como define seu produto, e não pede que você troque o agente de código a que está acostumado.
prose + C4 + DSL + codeLinguagem natural, DSLs, linguagens de modelagem, código. Misture à vontade.
*.noema.mdMarkdown puro, gerenciado no Git. São seus mesmo sem o Noema.
ACP / agent adaptersContinue com o agente de código que já usa. O Noema não o substitui.
Para quem é 04
Algo quebrou em produção. Todos na sala de reunião olham para você: “Por que essa lógica funciona assim? Explica aí.”
Você é mesmo dono deste sistema ou só o “meat proxy” do agente?
O agente escreveu o código, mas quem responde por ele é você. Você explica em nome dele e não sabe dizer por que é do jeito que é.
Como o Noema ajudaSiga uma intenção até a implementação atual, confira as evidências e veja o que ainda é incerto. O que você explica é o que você de fato entende.
2h da manhã, produção fora do ar. A única pessoa que sabia ler aquele código saiu no mês passado. Deixou só um histórico de chat com quatrocentas trocas.
Você realmente controla este produto ou só o vê sair do controle dia após dia?
Ninguém revisa milhares de linhas alteradas por dia, então tudo passa, e bugs escondidos ficam. Quando alguém sai do time, esse código vira uma bomba que ninguém sabe desarmar.
Como o Noema ajudaO Noema deixa um documento que qualquer pessoa lê direto, com o motivo escrito ao lado de cada frase. Ele não depende da memória de ninguém nem se esconde numa sessão. Quando as pessoas saem, o time e o produto continuam documentados.
Um usuário pagante escreve: “Por que falta uma coluna na minha exportação?” Você encara a tela sem saber se é bug, decisão sua ou uma escolha que o agente fez por você.
Você está mesmo construindo uma empresa ou só consumindo um produto que um agente de código fez para você?
Você só descobre o que seu produto faz pelos seus usuários. A IA fez centenas, até milhares de escolhas em silêncio e foi reescrevendo um produto que você achava ter criado.
Como o Noema ajudaLeve a dúvida de um usuário direto à intenção e à implementação por trás dela, separe suas decisões de produto das escolhas do agente e retome as que realmente importam.
FAQ 05
Não. Linguagens de programação descrevem implementação; o Noema trata de como a implementação responde à sua intenção.
Não. Escreva só o que importa para você e deixe o resto com o agente. Ele mostra as escolhas relevantes.
Sim. Você não precisa levar o código todo para o Noema antes. Escreva intenções só para o que mais importa; o agente continua implementando o resto como antes.
Não. Só você altera uma intenção. O agente é somente leitura por padrão, e as sugestões dele só valem depois que você confirma.
Arquivos Markdown puros terminados em .noema.md. Qualquer editor abre, e eles vão para o Git.
Não. O agente continua escrevendo o código; o Noema é uma camada de controle por cima.
Se nenhum agente de código estiver disponível, o app guia você para escolher, instalar, entrar e verificar um. A primeira verificação baixa um runtime, e o app informa o tamanho.
Relatórios de erro e estatísticas de uso são duas opções independentes, na página Privacidade dos Ajustes. Só são coletados eventos de ação de categorias fixas, nunca seu texto, seus arquivos ou caminhos.
Download 06
Baixe o Beta agora e percorra o ciclo você mesmo.