Passo 3 · Estado e operação · Estado e operação · Artefatos em disco ENPT
Factory Droid CLI Missions · Curso Visual

Artefatos em disco

O estado da missão vive em ~/.factory/missions/<uuid>/ — não no chat. Mapa de arquivos e os três contratos que importam.

Leia a versão simples ou abra a camada técnica em qualquer seção.
1

A ideia central


Cada missão ganha uma pasta em ~/.factory/missions/<session-uuid>/. O UUID da pasta coincide com a tag missionId da sessão orquestradora; state.json também traz id público como mis_e6fd3d67.

Três arquivos formam a espinha dorsal:

validation-contract.md — assertions comportamentais (VAL-AUTH-001, etc.). Fonte de verdade de "pronto". Escrito antes de fixar features.

features.json — fila de trabalho. Cada feature tem id, skillName, milestone e array fulfills ligando a assertion IDs. Invariante: cada assertion é reivindicada por exatamente uma feature.

handoffs/*.json — retorno estruturado do worker com salientSummary, commitId, skillFeedback e notas de verificação. Validators leem isso mais git diffs e transcripts.

Pense como… um processo jurídico. O contrato de validação é a lista do que precisa ser provado. features.json é a fila atribuindo quem prova cada item. Handoffs são depoimentos de cada contratado — não o veredito final.

Mapa completo do diretório (binário JTT + docs)

Bootstrap mínimo: state.json, working_directory.txt, mission.md, features.json, progress_log.jsonl. Também: AGENTS.md, architecture.md, services.yaml, library/, skills/<type>/SKILL.md, validation-state.json, validation/<milestone>/, evidence/<milestone>/, worker-transcripts.jsonl.

Nota do RE local

Missão 2382c4e6-f93d-4cb1-b94c-c1bfaf86c2c0 ficou em planning com pasta quase vazia — útil como evidência de bootstrap, não exemplo maduro.

2

Em uma figura


~/.factory/missions/<uuid>/ Planning state.json mission.md validation-contract.md features.json AGENTS.md skills/*/SKILL.md Execution progress_log.jsonl handoffs/*.json worker-transcripts.jsonl library/ Validation validation-state.json validation/<ms>/scrutiny/ validation/.../user-testing/ evidence/<ms>/ fulfills[] links features → VAL-* assertions
Pasta da missão em três faixas: planejamento, execução conforme workers rodam, evidência de validação após cada milestone.
3

No código


Schemas representativos — consolidados de strings do binário, custom droids e docs de arquitetura Factory.

features.json
{
  "features": [{
    "id": "feat-auth-login",
    "description": "Implement login form and session cookie",
    "skillName": "backend-worker",
    "milestone": "foundation",
    "fulfills": ["VAL-AUTH-001", "VAL-AUTH-002"],
    "status": "pending",
    "workerSessionIds": []
  }]
}
validation-contract.md (excerpt)
### VAL-AUTH-001: Successful login
A user with valid credentials submits the login form
and is redirected to the dashboard.
Tool: agent-browser
Evidence: screenshot, network(POST /api/auth/login -> 200)
handoffs/<session>.json (protocol fields)
{
  "salientSummary": "...",
  "whatWasImplemented": "...",
  "whatWasLeftUndone": "...",
  "verification": "...",
  "commitId": "abc123",
  "skillFeedback": { "followedProcedure": true }
}

Comandos

ls -la ~/.factory/missions/
cat ~/.factory/missions/<uuid>/state.json
jq . ~/.factory/missions/<uuid>/features.json
4

Experimente: navegador de artefatos


Selecione um arquivo na pasta da missão. Veja o papel e um trecho de exemplo.

Última lição: Mission Control e movimentos do operador — pausar, redirecionar, config de modelos e quando intervir.