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ção | Descrição |
|---|---|
--project PATH | Raiz 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-run | Detecta o layout legado e relata o que seria migrado, sem gravar. |
--quiet, -q | Suprime a saída informativa; apenas erros são emitidos. |
--verbose, -v | Emite saída de diagnóstico adicional. |
--format plain|json | Formato de saída (padrão: plain). |
--json | Abreviação de --format json. |
--no-color | Desativa os códigos de cor ANSI na saída. |
-h, --help | Mostra 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 --jsonCódigos de saída
| Código | Significado |
|---|---|
| 0 | Migração concluída, ou nenhum layout legado foi encontrado (nada a migrar) |
| 1 | Erro esperado — um erro de validação ou de raiz de projeto, ou uma falha de migração |
| 64 | Erro 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
- apothem install — materializa um harness a partir do perfil compartilhado
- apothem status — relata o estado de instalação, de verificação e de desvio
- Disciplina de planos — o layout compartilhado
.apothem/plans/