Skip to content
Apothem
Referência da CLI

migrate-workspace

Referência da CLI para o comando apothem migrate-workspace.

Migra um espaço de trabalho legado por harness para o layout compartilhado .apothem.

Sinopse

apothem migrate-workspace [--project PATH] [--dry-run]
                          [--quiet|-q] [--verbose|-v]
                          [--format plain|json] [--json] [--no-color]

migrate-workspace consolida um diretório de dados legado por harness (.apothem/<harness>/...) e uma árvore .plans/ legada no único diretório de trabalho compartilhado .apothem/{plans,memory,learning,contexts}. A base é a raiz de --project resolvida, quando fornecida; caso contrário, é o diretório de trabalho atual (o padrão local do projeto).

Os armazenamentos de memória, de contextos e de aprendizado por harness são mesclados por união no armazenamento compartilhado, por id; os sinais de aprendizado são concatenados e deduplicados; um registro em conflito (mesmo id, corpo diferente) é ignorado, nunca sobrescrito. Uma árvore .plans/ legada é movida para .apothem/plans/. Cada origem consumida recebe backup primeiro. A migração é idempotente — executá-la novamente sobre uma árvore já migrada não tem efeito.

Opções

OpçãoDescrição
--project PATHRaiz do projeto para os adaptadores com escopo de projeto que materializam em uma árvore de projeto em vez de em um diretório de configuração com escopo de usuário.
--dry-runDetecta o layout legado e relata o que seria migrado, sem gravar.
--quiet, -qSuprime a saída informativa; apenas erros são emitidos.
--verbose, -vEmite saída de diagnóstico adicional.
--format plain|jsonFormato de saída (padrão: plain).
--jsonAbreviação de --format json.
--no-colorDesativa os códigos de cor ANSI na saída.
-h, --helpMostra a ajuda e sai.

Saída JSON

O envelope --json carrega o resultado da migração. Em uma migração concluída, status é success e a carga útil relata as contagens de registros mesclados, se uma árvore .plans/ foi realocada, a raiz de backup e quaisquer conflitos ignorados. Uma invocação com --dry-run relata, em vez disso, legacy_layout_detected.

{
  "schema_version": 1,
  "command": "migrate-workspace",
  "status": "success",
  "base": "/home/example/project",
  "migrated": true,
  "backup_root": "/home/example/project/.apothem/backups/migrate-20260101T120000Z",
  "memory_merged": 12,
  "contexts_merged": 4,
  "learning_merged": 7,
  "conflicts": [],
  "plans_moved": true,
  "notes": []
}

Quando nenhum layout legado está presente, migrated é false e nada é gravado. O envelope de --dry-run omite as contagens de resultado e relata apenas a detecção:

{
  "schema_version": 1,
  "command": "migrate-workspace",
  "base": "/home/example/project",
  "dry_run": true,
  "legacy_layout_detected": false
}

Exemplos

apothem migrate-workspace
apothem migrate-workspace --project .
apothem migrate-workspace --dry-run --json

Códigos de saída

CódigoSignificado
0Migração concluída, ou nenhum layout legado foi encontrado (nada a migrar)
1Erro esperado — um erro de validação ou de raiz de projeto, ou uma falha de migração
64Erro de uso: uma opção ou um comando desconhecido, ou um valor de opção ausente ou inválido. Com --json, o erro é um envelope JSON com o código cli.usage.

Veja também

On this page