๐ฏ O que e promotion
Padrao visto 3 ou mais vezes prova valor. Viram regra em CLAUDE.md, originais arquivam.
๐ Ciclo de promotion
Observacao #1 โ knowledge/patterns/idempotency-stripe.md
Observacao #2 โ knowledge/patterns/idempotency-retry.md
Observacao #3 โ knowledge/patterns/idempotency-refund.md
โ
โผ
Script detecta similaridade
โ
โผ
promotions/pending.md criada
โ
โผ
Voce revisa e aprova
โ
โผ
CLAUDE.md: "Sempre usar idempotency
key em payment webhook."
โ
โผ
3 observacoes movem para archive/promoted/๐ก E um pipeline, nao magica
Promotion nao e detectada magicamente. E script explicito que voce roda periodicamente. Tudo transparente.
๐ง Detectando padrao (LLM-assisted)
Regex nao pega similaridade semantica. LLM pequeno resolve em segundos.
๐ Deteccao via LLM
#!/usr/bin/env python3
# promote.py โ versao LLM-assisted
def find_clusters(memories, threshold=3):
# 1. Gera embedding de cada memoria
embs = embed_all([m.body for m in memories])
# 2. Clustering com similarity > 0.85
clusters = []
for i, emb_i in enumerate(embs):
for cluster in clusters:
if cosine(emb_i, cluster[0].emb) > 0.85:
cluster.append(memories[i])
break
else:
clusters.append([memories[i]])
# 3. Retornar clusters com threshold+
return [c for c in clusters if len(c) >= threshold]
# Uso
candidates = find_clusters(load_memories('knowledge/patterns/'))
for cluster in candidates:
write_proposal(cluster, 'promotions/pending.md')๐ก Custo minimo
Embeddings locais (fastembed) = 0 recorrente. Clustering passa por 200-500 memorias em ~2 segundos.
โ๏ธ Formato da regra promovida
Formato prescritivo vence descritivo. Claude age sobre um, menciona o outro.
โ Prescritivo (usar)
- โ'Sempre usar idempotency key em payment webhook'
- โ'Sempre logar tempo de execucao em hooks'
- โ'Nunca commitar .env; usar .env.example'
- โ'Ao abrir PR, rodar ruff check primeiro'
โ Descritivo (evitar)
- โ'Observamos que idempotency key ajuda em webhooks'
- โ'Ja vimos que logar tempo e util'
- โ'Geralmente nao commitamos .env'
- โ'Costumamos rodar ruff antes de PR'
๐ Aprovacao humana
NUNCA promova automatico direto ao CLAUDE.md. Sempre com review.
๐ Fluxo com approval
# Script cria proposta
$ python3 promote.py
3 padroes candidatos criados em:
~/.memory/promotions/pending.md
# Voce revisa
$ cat ~/.memory/promotions/pending.md
## Proposta 1 (3 ocorrencias)
Origem: patterns/idempotency-{stripe,retry,refund}.md
Regra sugerida:
"Sempre usar idempotency key em payment webhook
para evitar processamento duplicado."
[APROVAR] [REJEITAR] [EDITAR]
# Apos editar/aprovar
$ python3 promote.py --apply
Aprovou: 2 regras adicionadas a CLAUDE.md
Rejeitou: 1 proposta descartada
Movidas: 6 memorias originais para archive/promoted/โ ๏ธ CLAUDE.md poluido e pior que vazio
Uma regra mal escrita contamina a atencao para todas. Qualidade da curadoria importa mais que velocidade.
๐๏ธ O que acontece com os originais
Arquivam, nao deletam. Rastreio preservado para revisao futura.
๐ Archive com rastreio
archive/promoted/
โโโ 2026-Q2/
โโโ idempotency-webhook-rule/
โโโ SOURCE_MEMORIES/
โ โโโ idempotency-stripe.md
โ โโโ idempotency-retry.md
โ โโโ idempotency-refund.md
โโโ PROMOTED_RULE.md
"Extraida em 2026-04-22. Adicionada a CLAUDE.md.
Regra: 'Sempre usar idempotency key em payment webhook.'"
# Se 6 meses depois voce revisita regra:
# โ acha rastreamento
# โ ve as 3 observacoes originais
# โ entende o porque completo๐ก Provenance importa
Dali 1 ano, voce pode perguntar 'por que temos essa regra?'. Archive responde.
๐ Exemplo ponta a ponta
Seguindo o ciclo inteiro: 3 observacoes โ regra permanente.
Observacao 1 (2026-04-10)
Sessao resolve bug na Stripe webhook. Voce nota: 'idempotency key evitou dupla cobranca'. Salvo em patterns/idempotency-stripe.md
Observacao 2 (2026-04-15)
Bug similar em webhook de retry. 'Idempotency key aqui tambem resolveu.' Salvo em patterns/idempotency-retry.md
Observacao 3 (2026-04-20)
Agora no refund webhook. 'Mesmo padrao.' Salvo em patterns/idempotency-refund.md
promote.py roda (2026-04-22)
Detecta cluster com similaridade 0.91. Cria proposal em pending.md
Voce aprova
Regra 'Sempre usar idempotency key em payment webhook' adicionada a CLAUDE.md
Originais arquivam
3 memorias movem para archive/promoted/2026-Q2/idempotency-webhook-rule/
Sessoes futuras
Claude ja sabe aplicar. Voce nunca mais explica. Memoria virou sabedoria.
๐ก Meta alcancada
Esse e o sistema de memoria maduro: capta observacoes, deteta padroes, graduacao automatica (com approval), resultado e Claude mais inteligente no seu contexto especifico.
๐ Resumo do Modulo
Proximo:
Trilha 6 โ Projeto pratico e integracoes