As 7 provas de boundary que sustentam tudo o que este curso afirma — cada uma com o comando/artefato exato — e os três marcos que aconteceram pela primeira vez na história do motor.
spec/AUTHOR-SPEC.md + o repo
Esta lição destila a seção "o que nasceu depois dos cursos v2" do spec: só entram aqui claims com artefato inspecionável (arquivo, linha-resumo, registro append-only, render). Nenhuma data ou contagem foi digitada à mão.
No Alembic, "funciona" não é uma frase — é um artefato no boundary real: uma linha appendada num JSONL, uma linha-resumo impressa pelo CLI, um render com o escritório verdadeiro do cliente, um drift pego por um script. Um claim sem artefato é tratado como fabricação — e uma das 7 provas abaixo é exatamente a demonstração disso (P2).
Pense como… um cartório: não interessa o que a pessoa JURA que aconteceu; interessa o que está registrado, com carimbo e página. A analogia quebra num ponto: aqui o cartório é append-only — ninguém rasura o livro, nem para corrigir; corrige-se com um registro novo.
Tudo abaixo nasceu DEPOIS dos cursos v2 (26–29/06) e é verdade auditada em 06-07. A ordem é narrativa — as duas únicas datas fixadas são as âncoras das pontas e o dia da produção dos learnings. Clique num nó para saltar à prova.
Depois de um turno --online bem-sucedido, o motor appenda UMA memória episódica honesta ao store bindado: episode = o goal REAL, context = um excerpt REAL da resposta do modelo. Nunca um "learning" fabricado. Opt-in (sem binding episódico ⇒ no-op) e uma falha de escrita NUNCA quebra o turno.
alembic employee run <id> --goal "<goal real>" --online # artefato: 1 linha nova em <data-dir>/memory/episodic.jsonl alembic memory episodic list --limit 1 # código: packages/hermes/src/employee/writeback.ts:74 (recordEmployeeTurn)
É a primeira vez que a memória do sistema nasce de execução real, não de importação nem de auto-relato do modelo. O formato honesto (goal + excerpt) é o antídoto estrutural contra memória-ficção.
O turno de um employee NÃO tem tool-loop. Pedir no goal que ele "varra" um diretório produziu uma varredura fabricada — arquivos e conclusões que não batem com o disco. Prova negativa, e das mais valiosas: mediu exatamente onde termina a capacidade real.
# o experimento que NÃO se repete em produção: alembic employee run <id> --goal "varra os arquivos de X e resuma" --online # artefato: a resposta descreve uma varredura que nunca aconteceu (não bate com o disco) # a disciplina resultante: dados verificados VÃO NO PROMPT (receita na lição 4)
Virou regra de produto: até a perna tool-loop existir, o operador injeta dados verificados no prompt. E o employee explain etiqueta cada claim como observed/inferred/unknown — anti-fabricação estrutural, não promessa.
automation run <id> EXECUTA um manifest de automation — dry-run por default; com --online roda o turno e appenda 1 registro honesto ao journal memory.md. Não é daemon: manifest PAUSED só roda à mão. O PR soma +4 testes à suíte (1.834 → +4).
alembic automation run emp-<id>-0 --dir ~/.codex/automations # $0 dry-run alembic automation run emp-<id>-0 --dir ~/.codex/automations --online # turno + journal # artefato: 1 entrada nova no journal memory.md [PR #159]
Fecha o ciclo A4 de ponta a ponta: declaração no employee → manifest PAUSED → execução manual COM rastro. O primeiro journal é o "hello world" auditável das automations.
O leilão de tier empatava em 0.0005 no T2 e o vencedor era o deepseek-v4-pro — que o gateway negava (AccessDenied, observado no boundary). Como pickCheapestForTier usa < estrito e mantém o PRIMEIRO declarado no empate, a correção foi declarar gemini-3.5-flash ANTES. Ordem de declaração é semântica de routing.
# o reduce com < estrito (o 1º declarado vence o empate): sed -n '244,258p' packages/contracts/src/registry.ts # o comentário que documenta a regra do empate: registry.ts:80-83 # artefato do bloqueio: AccessDenied do gateway para deepseek-v4-pro [PR #157]
Sem esta correção, P5 não existiria: a cadeia de learnings morria num modelo inacessível. É o gotcha "empate de custo = ordem de declaração" com prova de origem.
A SEGUNDA cadeia de valor do ADR-0002 — budgets, stores e cadências separados — produziu pela primeira vez na história: 1.022 learnings únicos de Bookmarks, isolados em ~/.alembic-learnings-bkm, 100% com sourceRefs+hash, confidence média 0.94. Exigiu vencer o family-prefix (apontar no PAI de Resources; escopo de 1 família via truque cpio) e o empate de P4.
cd ~/Documents/Resources && find Bookmarks -name package.jsonl | cpio -pdm /tmp/corpus-bkm alembic distill /tmp/corpus-bkm --learnings-budget <usd> --data-dir ~/.alembic-learnings-bkm # artefatos: a linha "learnings-route: ..." (apps/cli/src/commands.ts:421) wc -l ~/.alembic-learnings-bkm/Skills/learning/learnings.jsonl # 1.022
A rota existia no papel desde o ADR-0002; agora existe no disco. Conhecimento com proveniência (sourceRefs+hash em 100% dos registros) é o que separa um segundo cérebro de uma pilha de opiniões.
As referências REAIS do cliente (logo, escritório) entram no gemini_omni como medias ROLED via API direta — o --image plano do CLI é rejeitado pelo modelo. O render saiu 720×1280 com a parede do escritório e o logo REAIS da C.D; o capstone foi provado em 3 indústrias (advocacia, odontologia, contabilidade) sem mudar código — a pasta do cliente dirige tudo.
# caminho pago (dupla trava) — o dry-run mostra o custo e anota que as refs entram na API real: alembic marketing ad ./clientes/<pasta> brief.json --aspect 9:16 --approve --yes # artefato: o mp4 720×1280 com o ambiente real; QA local: alembic marketing validate ./saida.mp4 --script "<roteiro>" --aspect 9:16 --lang pt
"Geração baseada no real" deixou de ser desejo de prompt e virou canal de dados: aspect como PARAM, refs como media ROLED. É a diferença entre pedir e garantir.
O digest #1 do failure-historian elegeu drift-de-contagem como pior ofensor → propôs "derivar contagens da fonte" → foi shipado scripts/derive-counts.mjs (PR #158) → e a PRIMEIRA execução pegou drift vivo: os docs diziam 32 comandos; o real era 33/47. O sistema achou o próprio defeito, propôs a correção, e a correção pagou-se na primeira rodada.
node scripts/derive-counts.mjs # deriva 33 comandos / 47 formas do USAGE exportado [PR #158] # a fonte da qual deriva: export const USAGE (apps/cli/src/index.ts:68) # artefato: o diff docs 32 → real 33/47, pego na 1ª execução
É o loop LEARN→ANALYZE→EXECUTE→VERIFY rodando sobre o próprio repositório — e a origem da regra deste curso: números derivados, nunca digitados. Os 33/47 do playbook vêm daqui.
# auditoria de leitura (tudo só-leitura): sed -n '68,196p' apps/cli/src/index.ts # o USAGE (P7) sed -n '74,120p' packages/hermes/src/employee/writeback.ts # recordEmployeeTurn (P1) sed -n '244,258p' packages/contracts/src/registry.ts # o empate por < estrito (P4) grep -n "learnings-route" apps/cli/src/commands.ts # a linha-resumo (P5)
Três dessas provas não foram só verificações — foram estreias: a primeira vez que aquele subsistema produziu um registro real no mundo.
memory.md de uma automation (P3, PR #159)As 7 provas seguem a mesma anatomia — e ela é a régua para qualquer claim futuro seu: do claim ao registro permanente, sem atalho.
pickCheapestForTier?< ESTRITO (packages/contracts/src/registry.ts:244): no empate, o primeiro declarado permanece. Por isso o PR #157 apenas DECLAROU o gemini-3.5-flash antes do deepseek-v4-pro (AccessDenied) — e a P5 pôde produzir.Escolha UMA das 7 provas e refaça a auditoria de leitura dela agora (os comandos sed/grep/wc da camada técnica são todos só-leitura). Se o artefato está lá, a prova segue de pé — e você acabou de praticar a régua de quatro estações.