Funcionalidade workspaces - BrunodosSantosVaz/big-bang GitHub Wiki
Funcionalidade BB-F-030 · requisito RF-BB-030 · versão documentada 2.0.1 · código 24f19ac8ad23e0307ce8797a264012fc0832bb2b.
Criar worktree próprio somente depois de confirmar posse da tarefa e guardar recibos em metadados Git.
Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.
Repositório e raiz corretos, versão instalada e configuração compatível. Para operações de escrita, exige-se autorização vigente, branch adequada e acesso ao recurso envolvido; consultas não conferem permissão adicional.
Conferir sessão vencedora, branch e remotes; criar pasta isolada; registrar receipt com sessão e issue; recuperar a evidência local ao operar. Na v3 a pasta própria aceita os prefixos test/, feature/, docs/, fix/ e hotfix/; um bug sem branch ganha fix/<n>-<slug> a partir da main.
Código não é escrito na pasta compartilhada de outra IA; recibos de sessão não são commitados no sistema.
Branch ausente, posse não confirmada ou pasta incompatível impede isolamento; não apaga mudanças de terceiros.
Leitura usa permissões mínimas do repositório. Operações locais respeitam a posse e worktree; escrita no GitHub exige acesso explícito. Esta funcionalidade não concede novas permissões a visitantes nem substitui decisões exigidas pelo fluxo.
Resultado esperado: Criar worktree próprio somente depois de confirmar posse da tarefa e guardar recibos em metadados Git. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.
Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.
| Símbolo | Linha |
|---|---|
git |
11 |
_update_local |
18 |
_bug_branch |
35 |
isolate |
53 |
receipt |
78 |
.bigbang/tests/test_posse.py:test_assume_libera_e_preserva_historico.bigbang/tests/test_posse.py:test_recusa_nome_issue_fechada_e_posse_existente.bigbang/tests/test_posse.py:test_limite_e_comentario_sem_label_ainda_bloqueiam.bigbang/tests/test_posse.py:test_recusa_bloqueio_mas_aceita_pr_de_teste_mesclado.bigbang/tests/test_posse.py:test_outra_sessao_nao_libera.bigbang/tests/test_posse.py:test_falha_na_confirmacao_remove_so_a_propria_marca.bigbang/tests/test_posse.py:test_desempate_e_rollback_nao_apagam_label_do_mesmo_nome.bigbang/tests/test_posse.py:test_comentario_de_terceiro_nao_e_posse.bigbang/tests/test_posse.py:test_recusa_espera_zero.bigbang/tests/test_posse.py:test_resposta_perdida_do_post_reconcilia_por_uuid.bigbang/tests/test_posse.py:test_dois_processos_so_um_dono_e_uma_pasta.bigbang/tests/test_posse.py:test_bug_ganha_a_branch_a_partir_da_main.bigbang/tests/test_posse.py:test_falha_no_worktree_desfaz_a_posse.bigbang/tests/test_posse.py:test_worktree_usa_avanco_remoto_e_recusa_divergencia.bigbang/tests/test_posse.py:test_v3_kinds_find_the_test_branch.bigbang/tests/test_posse.py:test_v3_bug_gets_a_fix_branch_from_main