T-101 — Refatorar 06-directory → 00-projeto/directory + Bases pessoas/times
Owner: Pedro · Frente:
anouk-interno· Prazo: 2026-04-27 · Status:concluida· Prioridade:alta
Descrição
Mover diretório de pessoas e times de 06-directory/ (raiz) para 00-projeto/directory/ (governança do projeto), com:
- Frontmatter YAML rico em todas as 35 pessoas (de prosa Markdown para metadados estruturados)
- 10 times granulares (em vez dos 3 alto-nível) refletindo organogramas reais (CIB Transações, CIB Corporativo, CTS Especialidades, CTS-SPS, CREMS, Board Colliers, Conselho+MD Costal, Diretorias Costal, Operacional Costal, Anouk-projeto, Não-mapeado)
- 2 Bases interativas (
pessoas-pipeline.basecom 18 views +times-pipeline.basecom 6 views) - Find/replace em massa dos 166 wikilinks externos
Critérios de conclusão
- Estrutura
00-projeto/directory/pessoas/+times/criada - Template novo de pessoa com frontmatter (id, name, empresa, frente, teams, cargo, papel_projeto, status, email, etc.)
- 10 times canônicos criados (anouk-projeto, costal-conselho-md, costal-diretorias, costal-operacional, colliers-board, colliers-cib-transacoes, colliers-cib-corporativo, colliers-cts-especialidades, colliers-cts-sps, colliers-crems, nao-mapeado)
- Script de migração
99-operacao/scripts/migrate-pessoas-to-directory.py(idempotente) - 35 pessoas migradas com mapeamento canônico de teams (incluindo papéis duplos: Igor, Ricardo, Marcos, Leandro Delecrodio)
- Base
_bases/pessoas-pipeline.basecom 18 views (todas, ativas, por empresa, por time × 8, decisores, papéis duplos, não-mapeados) - Base
_bases/times-pipeline.basecom 6 views (todos, ativos, em formação, por empresa) - Folder note
00-projeto/directory.mdcom convenções, status, papel_projeto, times canônicos - Aliases, matriz-decisao, regras-de-comunicacao copiados para nova localização
- Script
99-operacao/scripts/refactor-directory-paths.py(find/replace 06-directory/ → 00-projeto/directory/) - 469 substituições em 167 arquivos atualizadas em massa (incluindo specs, atas, missões, runbooks, agentes-core)
- 5 refs operacionais residuais corrigidas manualmente (MEMORY-CONTRACT, publish-contract, project-map, MEMORY, memory-architecture)
-
06-directory.mdconvertido em stub-redirect arquivado (sandbox bloqueia delete da pasta) - T-101 registrada seguindo o novo padrão
Contexto
Solicitação Pedro 27/04: refatorar diretório de pessoas para dentro do bucket de governança do projeto, com Base interativa, amarração granular pessoas→times, e cadastro estruturado.
Decisões metodológicas:
- Granularidade times: 10 (recomendação) — granular o suficiente para refletir CIB/CTS/CREMS de Colliers + Conselho/Diretorias/Operacional Costal
- Frontmatter rico + body preservado: YAML com 19 campos no topo, prosa original abaixo
- Find/replace em massa: script Python idempotente, 469 substituições em 167 arquivos sem corrupção
Distribuição final:
- 35 pessoas migradas (Anouk: 5, Costal: 10, Colliers: 20)
- Maior time: anouk-projeto (6 — incluindo Marcos com papel duplo)
- Papéis duplos: Igor, Ricardo, Marcos, Leandro Delecrodio (em 2 times cada)
- 1 arquivada: jean-luc (redirect para Gianlucca, T-095)
- 3 não-mapeados: Gustavo, Taiany, Jean-Luc
Histórico de status
- 2026-04-27 — concluída. 35 pessoas + 10 times + 2 Bases + 2 scripts + folder note + 469 wikilinks atualizados. Esforço real: ~1.5 h.
Notas operacionais
O que funcionou:
- Mapeamento explícito pessoa→time em PESSOA_TEAMS dict (não depender de heurística — controle total)
- Script idempotente: re-executar sobrescreve baseado no estado atual de 06-directory
- Find/replace conservador: só substitui paths exatos, preserva refs históricas no changelog
Pontos de atenção:
- Linter rodou refactor-directory-paths.py automaticamente e modificou textos descritivos que mencionavam
06-directory/como referência ao estado antigo — corrigi manualmente os 2 lugares onde isso quebrou semântica (folder notedirectory.md) - Sandbox bloqueou delete de pasta
06-directory/— Pedro precisa deletar manualmente pelo Finder/Obsidian quando quiser
Mudança de fluxo a partir de hoje:
- Criar pessoa = nova nota em
00-projeto/directory/pessoas/<slug>.mdcom frontmatter - Criar time = nova nota em
00-projeto/directory/times/<slug>.md - Atualizar membro de time = editar
teams: [...]no frontmatter da pessoa (Base reflete imediatamente) - Visualizar = abrir
_bases/pessoas-pipeline.baseou_bases/times-pipeline.base