ALEMBIC • VISUAL TEACH STUDIO • FASE 5 COMPLETA — 11 ARTEFATOS VALIDADOS

Currículo Fonte de Verdade

Análise linha-a-linha exaustiva de todo o motor (235 arquivos .ts, 7 packages, 6 camadas L-1 a L4 + Factory ADW). Cada artefato segue o blueprint visual-teach-studio: 6+ seções semânticas, ≥1 SVG, interatividade, ≥6 anchors file:line reais, seções explícitas de verificação, confusões comuns e tarefas de prática. Design Warm Neutral (ivory/slate/clay/olive). Zero dependências externas. Todos passam impeccable detect + validator do studio.

Navegação

MISSION.md — Contexto Appfy + WIKI_LLM 330 GB e por que destilar linha-a-linha
GLOSSARY.md — 25 termos canônicos (Result, ModelAdapter, Verifier maker-checker, ADW, Funnel T0-T3, Content-addressed, MAX_DEPTH=2)
RESOURCES.md — HANDOFF.md, CODING_STANDARDS.md, subagentes explore, contratos originais
evidence-inventory-source-map.html — Inventário completo 235 .ts + 6 camadas + grafo de dependências + ordem de leitura (PASS validator)

Mapa do Currículo (11 Artefatos)

Evidence Base Hot Path 1: CLI Hot Path 2: Factory Hot Path 3: Council T3 L0 L1 L2 L3 L4 Operator Playbook + 6 Labs (invariantes + prática) Cintura: Result never-throws • PII redact before emit • Budget fail-closed • Journal-before-action • Maker-checker + dissent • Content-addressed

Fase 6 — Glossário Visual + Quizzes (novo)

visual-glossary.html NOVO • FASE 6

25+ termos canônicos com 100+ anchors reais • SVG interativo clicável por camada • busca + filtros • cada termo tem definição, confusão comum e prática verificável • base para todos os quizzes cross-layer
Result • ModelAdapter • runWithGuards • MAX_DEPTH=2 • preserve-dissent veto • journal-before-action • withWorktree • background workers • ADW • Budget fail-closed • Impeccable detect • ClaimOracle • FAITHFULNESS floors • priorFor + routesToResidue
→ Quiz: 6 Invariantes | → Quiz: Funnel T0-T3 + Gates

Hot Paths (Runtime — como o sistema realmente executa)

hotpath-cli-funnel.html PASS

CLI → Harness → ETL → Adapters → Council T3
apps/cli/src/commands.ts:63 (runDistill + assertCorpusReadable + buildRegistry)
packages/harness/src/funnel.ts:83+243 (runFunnel + emitSafeSignal + PII gate)
packages/etl/src/pii.ts (assertRedactedForEmit)
packages/adapters/src/registry.ts:52 (offline asDefault)
packages/council/src/verifier.ts:19-84 + verifier-panel.ts:21-44
12+ anchors reais • 3 SVGs de sequência • tabs por tier • verify/confusions/practice

hotpath-factory-adw.html PASS

ADW meta: Planner → Sandbox → Implementer → Reviewer → Publisher
.factory/run.ts:22-153 (MAX_ITERATIONS + planner gh + sandboxes Docker)
packages/factory/src/Orchestrator.ts + SandboxFactory.ts
CODING_STANDARDS.md (Result, no any, ≤50 loc, named exports, conventional commits)
8+ anchors • fluxo completo do loop • gates typecheck/build/test/detect antes de PR

hotpath-council-t3.html PASS

Debate phases + Verifier maker-checker + N-lens panel + quorum + dissent veto
packages/council/src/debate.ts:31-159 (phases + contrarian last + buildVote)
packages/council/src/verifier.ts:19-84 (ClaimOracle + oracles read-only)
packages/council/src/verifier-panel.ts:21-44 (3 lenses + FAITHFULNESS + preserve-dissent veto)
MIN_VALID_AGENTS • T3 gate • parked T4 • 6+ trechos verbatim + SVG de fluxo

Deep Dives por Camada (L0-L4 — a espinha completa)

layer-l0-contracts-etl.html PASS

contracts/result.ts:20 (Result<T,E> + tryCatchAsync:60)
contracts/model.ts:30 (ModelAdapter narrow waist)
etl/pipeline.ts:27 (runT0Pipeline) • pii.ts (redact gate) • stores.ts (append-only) • priors.ts (priorFor + routesToResidue)

layer-l1-adapters.html PASS

adapters/adapter-core.ts:23-100 (runWithGuards: validation + breaker + retry + cost + http)
registry.ts:89 + router.ts:53 (no silent fallback)
8 providers + cross: retry, circuit-breaker, cost, http, token-store, errors

layer-l2-council.html PASS

council/debate.ts:31-159 • verifier.ts:19-84 • verifier-panel.ts:21-44 • consensus.ts • board.ts • types.ts

layer-l3-swarm.html PASS

swarm/orchestrator.ts:31-46 (3-tier, MAX_DEPTH=2)
queue.ts:15-22 (dependency-gating) • park.ts/reward.ts • worker.ts/process.ts (report protocol)
worktree.ts + background.ts (isolation) • store.ts (journal + checkpoint)

layer-l4-harness.html PASS

harness/core.ts:41-50 (HarnessCore transport-neutral)
funnel.ts:83 (runFunnel) • bridge.ts:11-28 (distill→market) • cli.ts/server.ts/mcp.ts (thin adapters) • manifest-store.ts

Operator Playbook (Invariantes + Labs Reais)

operator-playbook.html PASS

6 invariantes load-bearing com file:line + SVG • checklists por role (Engineer/Architect/Operator/GTM) • 6 Practice Labs que tocam superfícies reais (runFunnel, verifier panel, ADW loop, swarm resume, pii gate, budget enforcement)
6 labs: 1. Rodar distill offline + inspecionar stores • 2. Injetar adapter fake e traçar runWithGuards • 3. Forçar dissent no council e observar veto • 4. Matar worker mid-run e validar resume • 5. Injetar PII e confirmar redact fail-closed • 6. Estourar budget e ver fail-closed + parked

Como Usar Este Currículo (Ordem Recomendada)

  1. Leia evidence-inventory-source-map.html (mapa mental + 235 arquivos + ordem de leitura)
  2. Execute um hot path real: hotpath-cli-funnel.html (rode o CLI offline, trace os 5 arquivos chave)
  3. Entenda a meta-fábrica: hotpath-factory-adw.html + rode pnpm factory (se .env configurado)
  4. Entenda o gate de decisão: hotpath-council-t3.html (verifier + dissent é o que permite autonomia segura)
  5. Deep dive por camada (L0 → L4) conforme necessidade de modificar algo
  6. Pratique com os 6 labs do operator-playbook.html — cada lab tem "How to verify" + "Common confusions"

Todo artefato é browser-native, abre em qualquer lugar, sem build, sem node_modules. Use como referência enquanto codifica ou reviewa PRs.

Como Verificar (Gates Obrigatórios)

pnpm typecheck
pnpm build
pnpm -w test          # 284 passed
pnpm detect           # impeccable em docs/ (zero FAIL)

# Validador visual-teach-studio (se instalado)
python3 ~/.codex/plugins/visual-teach-studio/skills/visual-teach-studio/scripts/validate_visual_teach_output.py \
  docs/learn-alembic-complete

Todos os 11 HTMLs foram validados antes de serem declarados prontos. O index atual também deve passar.

Common Confusions Resolvidas por Este Currículo

"Factory é só template / exemplo"

Falso. É o ADW rodando em produção sobre o próprio engine (ver .factory/run.ts:22 + packages/factory). O planner emite issues reais, sandboxes Docker isolados, gates completos (typecheck/build/test/detect + impeccable) antes de abrir PR contra main protegida. É como o sistema evolui a si mesmo.

"Council é só prompt de debate"

Falso. Tem verifier programático independente (maker-checker, oráculos de faithfulness + domínio, quorum 2/3, veto preserve-dissent, escalate-after-N → T4 parked humano). Debate força contrarian por último. Nada emite sem passar as lentes.

"Swarm é orquestrador simples"

Falso. 3-tier (orchestrator→lead→worker), MAX_DEPTH=2, journal append-only para resume à prova de crash, TaskQueue com dependency-gating, park T4 estrutural, withWorktree git isolation com teardown garantido, background workers que sobrevivem ao pai via report-file protocol.

Practice Tasks Mínimas (Toque o Código Real)

  1. Abra packages/contracts/src/result.ts:20 e adapters/adapter-core.ts:60. Confirme que nenhuma função pública lança — tudo é Result.
  2. Rode node apps/cli/dist/index.js distill packages/etl/test/fixtures/corpus --offline e inspecione os stores gerados (opportunity-graph.jsonl + learnings.jsonl).
  3. Abra .factory/run.ts:83 (Implementer) e compare com CODING_STANDARDS.md. Note o TDD red-green-refactor obrigatório.
  4. Abra council/verifier-panel.ts:21. Simule um GO com evidência zero — o veto de faithfulness deve bloquear.
  5. Leia swarm/store.ts + orchestrator.ts:31. Entenda por que journal-before-action + replayInto garante at-least-once sem double-spend.
  6. Registre em learning-records/ (crie novo .md) o que mudou na sua compreensão das 6 invariantes após rodar os 6 labs do operator-playbook.