Memória externa persistente e fail-closed para trabalho de estratégia (não-código) no Claude Code.
A conversa com a IA esquece. Decisões viram "a gente já falou disso", hipótese vira "fato", e ninguém sabe mais em que pé está o projeto. O Strategy Anchor OS resolve isso movendo a fonte da verdade da conversa para arquivos canônicos numa pasta .strategy-anchor/, e instalando um validador determinístico que veta estados quebrados.
Princípio central: a conversa não é a fonte da verdade — os arquivos são. Se o sistema não consegue provar o estado pelos arquivos, ele falha fechado (para e avisa) em vez de improvisar.
Quem usa o Claude Code para marketing, produto, GTM, comercial, growth, operação, decisão executiva — qualquer trabalho estratégico longo onde perder contexto custa caro. Não é um framework de desenvolvimento de software.
- Estado que sobrevive à sessão. Abra uma janela nova e o agente reconstrói tudo só lendo os arquivos.
- Decisões com rastro (ADR). Decisão aceita exige um ADR; ADR aceito é imutável; mudar de ideia cria um novo que marca o antigo como
superseded. - Hipótese ≠ decisão. Hipóteses têm Status (
aberta/em teste/confirmada/rejeitada). O que foi rejeitado não some — vai pro cemitério com motivo. - Fail-closed de verdade. Um validador (
anchor-doctor) checa invariantes e sai com erro se o estado não fecha. Os hooks do Claude Code injetam esse estado a cada sessão/prompt e bloqueiam o fim do turno se algo quebrou. - Turn Receipt Gate. Trava de disciplina por turno: cada prompt ganha um
turn_id, e um turno estratégico só fecha se deixar um Turn Receipt desse id (heading## Turn Receipt — <id>ou tokenTURN_ID=<id>emCONTEXT_LEDGER.md/AUDIT_LOG.md). Senão, oStopfalha fechado (exit 2). mtime não basta (tocar arquivo não engana o gate) estop_hook_activenão é bypass (esgotada a auto-correção, gravaBREACHe oanchor-doctortrava até o receipt). Turno exploratório de verdade?/anchor-nochangeregistra um receiptnochangee libera. - AUTO CAPTURE MODE. Você conversa normal ("vamos priorizar X", "acho que Y, mas precisa validar", "mudei de ideia") e o agente detecta e registra sozinho — decisão, hipótese, evidência, mudança de direção — nos arquivos certos. Você não precisa decorar slash command: eles existem só como override manual.
Precisa de Node 18+. Na pasta do seu projeto de estratégia:
node /caminho/para/strategy-anchor-os/install-strategy-anchor.js --target .Opções:
| Flag | O que faz |
|---|---|
--target <dir> |
pasta destino (padrão: diretório atual) |
--force |
sobrescreve arquivos existentes (sempre faz backup .bak-<timestamp> antes) |
--no-hooks |
não instala os hooks do Claude Code |
--dry-run |
mostra o que faria, sem escrever nada |
O instalador é idempotente e não destrói sua config: se você já tem .claude/settings.json com hooks próprios, eles são preservados (merge por evento, sem duplicar). Ao terminar, ele roda o anchor-doctor e mostra o resultado.
Quatro passos. Você não precisa entender as fases nem decorar slash command antes de começar — o agente classifica o início sozinho a partir da sua conversa.
Pré-requisitos: Node 18+ instalado, Claude Code instalado (comando claude) e este repositório strategy-anchor-os baixado em algum lugar da sua máquina (você vai apontar para o install-strategy-anchor.js dele no passo 2).
Windows:
mkdir "C:\Users\LUCAS\Downloads\EMBEDED FINANCE ESTRATEGIA"
cd "C:\Users\LUCAS\Downloads\EMBEDED FINANCE ESTRATEGIA"macOS / Linux:
mkdir -p ~/projetos/embedded-finance-estrategia
cd ~/projetos/embedded-finance-estrategiaA partir da pasta do projeto, aponte para o instalador do repo:
node /caminho/para/strategy-anchor-os/install-strategy-anchor.js --target .No Windows, com caminho com espaço, use aspas:
node "C:\caminho\para\strategy-anchor-os\install-strategy-anchor.js" --target ./caminho/para/strategy-anchor-os é onde você baixou este repo. Não sabe o caminho? Abra a pasta do repo no explorador/terminal e copie o caminho até a raiz que contém install-strategy-anchor.js.
Isso cria .strategy-anchor/, .claude/, CLAUDE.md e README.md no projeto e roda o anchor-doctor ao final. Instalou certo? Se a pasta agora tem .strategy-anchor/ e CLAUDE.md e o anchor-doctor terminou com exit 0 (OK), está pronto.
De dentro da pasta do projeto (a mesma onde você instalou):
claudeCole o Start Prompt abaixo, preencha os 3 campos no fim (Tema, Contexto inicial, Objetivo) e mande. O agente faz o resto: roda o Anchor Loop, lê os arquivos canônicos, detecta o modo certo de começar e registra tudo sozinho (Auto Capture Mode). Slash commands são opcionais.
Vamos iniciar este projeto usando o Strategy Anchor OS.
Quero trabalhar em modo automático, com Auto Capture Mode ativo. Não quero depender de slash commands.
Primeiro, carregue os arquivos canônicos do Strategy Anchor OS e verifique se este projeto já tem estado registrado.
Depois, identifique qual é o melhor modo inicial:
1. Brainstorm — se a ideia ainda estiver aberta, confusa ou exploratória.
2. Contexto — se eu já tiver informações soltas e precisar organizar.
3. Discovery — se precisamos entender problema, público, mercado ou oportunidade.
4. Research — se precisamos pesquisar antes de decidir.
5. Estratégia — se já temos tese e precisamos criar opções estratégicas.
6. Decisão — se já estamos perto de bater o martelo.
7. Execução — se já existe decisão e precisamos transformar em plano.
8. Auditoria — se já existe estratégia e precisamos revisar riscos/contradições.
Se o projeto estiver vazio, comece pela Fase 0 — Intake.
Registre automaticamente:
* contexto inicial em STATE.md;
* fase atual em CURRENT_PHASE.md;
* hipóteses em HYPOTHESES.md;
* dúvidas em STATE.md (Open Questions) ou NEXT_ACTIONS.md;
* próximos passos em NEXT_ACTIONS.md;
* qualquer decisão clara em DECISION_LOG.md/ADR;
* receipt do turno no CONTEXT_LEDGER.md.
Antes de começar, me faça no máximo 5 perguntas essenciais para calibrar o projeto.
Se eu já trouxer contexto suficiente, não faça perguntas desnecessárias: organize o contexto, classifique o projeto e proponha a próxima fase.
Não trate hipótese como decisão: o que ainda não foi batido o martelo entra como hipótese a validar, não como decisão.
Tema do projeto:
[descreva aqui o projeto]
Contexto inicial:
[cole aqui tudo que já existe: ideia, problema, call, produto, mercado, restrições, objetivo, dúvidas]
O que eu quero conseguir ao final:
[ex: tese estratégica, plano de GTM, posicionamento, decisão de produto, plano de execução, diagnóstico]
Comece agora.
Para quem só quer colar e ir:
Vamos iniciar este projeto no Strategy Anchor OS. Ative Auto Capture Mode, leia os arquivos canônicos, detecte se devo começar por Brainstorm, Contexto, Discovery, Research, Estratégia, Decisão, Execução ou Auditoria. Registre estado, hipóteses, dúvidas e próximos passos automaticamente. Não trate hipótese como decisão. Tema: [descrever]. Contexto inicial: [colar]. Objetivo final: [descrever].
Existe também um atalho opcional
/anchor-startque carrega esse mesmo Start Prompt e guia o início. Ele é opcional — o caminho principal é colar o prompt acima.
O Start Prompt detecta o modo sozinho, mas se quiser saber para onde ele vai te levar:
| Sua situação | Modo inicial | Fase |
|---|---|---|
| Você está perdido, a ideia ainda é vaga | Brainstorm | 3 |
| Tem informação solta/bagunçada para organizar | Contexto | 1 |
| Quer entender problema, público ou mercado | Discovery | 2 |
| Precisa validar com fontes/dados antes de decidir | Research | 4 |
| Quer comparar caminhos estratégicos | Estratégia | 6 |
| Está perto de bater o martelo | Decisão | 7 |
| Já decidiu e quer virar plano | Execução | 8 |
| Quer revisar uma estratégia pronta (riscos/contradições) | Auditoria | 9 |
| Pasta vazia, nada ainda | Intake | 0 |
Objetivo: decidir se DOC é produto principal, infraestrutura ou tese de mercado.
Vamos iniciar este projeto no Strategy Anchor OS. Ative Auto Capture Mode, leia os arquivos canônicos e detecte o modo inicial. Não trate hipótese como decisão.
Tema: Produto DOC / Embedded Finance.
Contexto inicial: temos o DOC funcionando como peça interna; surgiu a dúvida se ele deve virar produto vendável, ficar como infraestrutura para outras frentes, ou virar uma tese de mercado maior. Ainda não batemos o martelo.
Objetivo final: uma decisão registrada (com ADR) sobre o papel do DOC, sustentada por hipóteses e evidências.
Objetivo: definir canal, ICP, oferta e mensagem.
Vamos iniciar este projeto no Strategy Anchor OS. Ative Auto Capture Mode, leia os arquivos canônicos e detecte o modo inicial. Não trate hipótese como decisão.
Tema: estratégia de aquisição para um produto de wellness.
Contexto inicial: produto pronto, sem canal de aquisição definido; temos palpites sobre público mas nada validado; orçamento limitado.
Objetivo final: definir canal principal, ICP, oferta e mensagem — com as suposições registradas como hipóteses a validar antes de virar decisão.
Objetivo: diagnosticar gargalos, criar hipóteses e plano de execução.
Vamos iniciar este projeto no Strategy Anchor OS. Ative Auto Capture Mode, leia os arquivos canônicos e detecte o modo inicial. Não trate hipótese como decisão.
Tema: reorganizar atendimento e retenção (CS).
Contexto inicial: churn subindo, atendimento reativo e sem processo claro; suspeitamos de gargalos no onboarding e no tempo de primeira resposta, mas falta diagnóstico.
Objetivo final: um diagnóstico dos gargalos, hipóteses priorizadas e um plano de execução com próximos passos concretos.
- Abra a pasta no Claude Code. O hook injeta o estado atual no início da sessão.
- Fale naturalmente — "vamos priorizar X", "acho que Y, mas precisa validar", "mudei de ideia sobre Z". Você não precisa de comando nenhum.
- O sistema registra sozinho decisões, hipóteses, evidências e mudanças de direção nos arquivos certos (Auto Capture Mode), antes de responder.
- Se o agente esquecer de registrar, o Turn Update Gate bloqueia o fim do turno (exit 2) até o Turn Receipt ser escrito — a disciplina é cobrável por máquina.
- Ao final, ele atualiza
HANDOFF.mdeSTATE.mdpara a próxima sessão. - Na próxima sessão, ele retoma pelos arquivos, não pela conversa — abra uma janela nova e o estado está lá.
Abra a pasta no Claude Code. Todo início de sessão o hook injeta o estado atual. No fluxo normal você só conversa — o AUTO CAPTURE MODE detecta decisões/hipóteses/evidências/mudanças de direção na sua fala e registra nos arquivos certos sozinho. Os comandos abaixo são overrides opcionais (forçar ou ajustar um registro), nunca obrigatórios no dia a dia:
| Comando (override opcional) | Para quê |
|---|---|
/anchor-start |
carrega o Start Prompt e guia o início de um projeto novo (opcional — o caminho principal é colar o Start Prompt do README) |
/anchor-status |
onde estamos, fase, saúde do doctor |
/anchor-load |
reconstruir o entendimento só pelos arquivos |
/anchor-resume |
retomada completa (responde as 9 perguntas-chave) |
/anchor-decide <título> |
registrar uma decisão como ADR |
/anchor-hypo <hipótese> |
registrar/atualizar hipótese com Status |
/anchor-research |
registrar evidência com fonte/origem |
/anchor-phase |
avançar de fase com critério |
/anchor-handoff |
ritual de fim de sessão (escreve o HANDOFF) |
/anchor-nochange |
marcar um turno como exploratório/sem mudança (registra um Turn Receipt nochange e libera o gate) |
Rode o validador a qualquer momento:
node .strategy-anchor/tests/validate.js
# exit 0 = OK | 1 = warnings | 2 = FAIL-CLOSED (estado quebrado, conserte antes de avançar)- Decidir (LLM): o Claude pensa e escreve nos arquivos canônicos.
- Validar (determinístico, sem LLM): o
anchor-doctorlê os arquivos e checa forma/existência/consistência. Quebrou invariante → exit 2.
Essa separação é a robustez: o validador olha o estado real dos arquivos, que o modelo pode não enxergar direito. Detalhe em templates/.strategy-anchor/system/METHOD.md.
Duas travas distintas, propositalmente:
- anchor-doctor valida o estado (arquivos existem, forma certa, consistência cruzada).
- Turn Receipt Gate valida a disciplina por turno: prompt estratégico tem que terminar com um Turn Receipt ligado ao
turn_id, senão oStopveta (exit 2). OUserPromptSubmitgravaruntime/current_turn.jsoncom oturn_id; oStopprocura o receipt (heading ou tokenTURN_ID=<id>). mtime é só sinal auxiliar — não satisfaz o gate.stop_hook_activenão libera nada: esgotada a auto-correção (MAX_RECOVERY), gravaBREACH turno <id>e para com{"continue": false}, e oanchor-doctorfalha fechado até o receipt do<id>(a dívida persiste entre janelas).
Intake → Context Loading → Discovery → Brainstorm → Research → Hypothesis Mapping → Strategic Options → Decision → Execution Plan → Audit → Handoff/Resume.
A cada prompt estratégico: LOAD → CLASSIFY → CHECK DRIFT → UPDATE → RESPOND → CHECKPOINT. Quem roda isso é o agente, a partir da sua conversa natural (AUTO CAPTURE MODE) — não você via comando.
.strategy-anchor/
system/ METHOD, PHASES, OPERATING_RULES, ANCHOR_LOOP, VALIDATION_PROTOCOL
state/ STATE.md, CURRENT_PHASE.md, CONTEXT_LEDGER.md
decisions/ DECISION_LOG.md + adr/ (ADRs append-only)
hypotheses/ HYPOTHESES.md, RULES.md, REJECTED.md
research/ RESEARCH_INDEX.md + raw/
brainstorm/, execution/, handoffs/, audits/
runtime/ current_turn.json (estado efêmero do Turn Receipt Gate: turn_id, status)
templates/ modelos de ADR, hipótese, handoff...
tests/ validate.js (anchor-doctor) + test_turn_gate.js + test_auto_capture.js
+ Long Context Torture Suite (test_large_prompt_hook, test_stop_recovery_gate,
test_turn_receipt_gate, test_multi_turn_natural_language, cold_resume_setup,
test_cold_resume_subject.md, test_context_poisoning_subject.md, expected_recall.json)
hooks/ SessionStart, UserPromptSubmit, PreCompact, Stop, nochange
.claude/
commands/ os 9 comandos /anchor-*
settings.json (hooks)
CLAUDE.md roteador curto + contrato do loop
Sem garantia absoluta. O enforcement determinístico cobre o verificável por máquina (arquivos existem, seções presentes, fase válida, hipótese com status, decisão com ADR, consistências cruzadas). A correção semântica (se o conteúdo registrado é "certo") continua sendo sua. O objetivo é tornar o esquecimento e a confusão hipótese/decisão caros e visíveis, não impossíveis.
Este método foi validado em 4 camadas (determinística, 10 auditorias Claude, 10 críticas Codex CLI, teste real em pasta descartável). Relatórios em validation/ — ver MULTI_AGENT_VALIDATION.md.
BMAD Method (fases de topo de funil + "arquivo é a memória"), GitHub Spec Kit (Constitution + checkpoints), e context engineering da comunidade (CLAUDE.md roteador, memory bank, ADR append-only, hooks). Não copiamos as máquinas de dev/sprint.
MIT.