codex-team 0.1.0__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ include PROVENANCE.json
2
+ include templates/AGENTS.md
3
+ include tests/test_team_executor.py
@@ -0,0 +1,90 @@
1
+ Metadata-Version: 2.4
2
+ Name: codex-team
3
+ Version: 0.3.0
4
+ Summary: Local tmux team controller with compact context and durable task queues
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+
8
+ # codex-team 0.3.0
9
+
10
+ Executor local para equipes Codex com tmux, submódulos Git e filas persistentes.
11
+ Requer Python 3.10+, Git, tmux e a CLI Codex configurada, em sistema POSIX.
12
+ O pacote Python não tem dependências de runtime além da biblioteca padrão.
13
+
14
+ ## Instalar a partir das fontes
15
+
16
+ ```sh
17
+ python3 -m pip install .
18
+ codex-team --version
19
+ codex-team --root ./novo-time start --no-attach
20
+ ```
21
+
22
+ Em instalações Python gerenciadas pelo sistema, use um venv ou pipx e mantenha
23
+ seu bin/ no PATH. Não é necessário ignorar as proteções do gerenciador Python.
24
+ `codex-team-start --root ./novo-time --no-attach` é um atalho equivalente.
25
+ O primeiro start exige uma pasta nova ou vazia. Depois use ./team na raiz criada.
26
+
27
+ ## Configurações de economia incluídas
28
+
29
+ - Sessão nova por entrega; `--continue ID` retoma somente a mesma entrega.
30
+ - Esforço padrão low; modelo herdado do Codex, sem troca automática ou retry pago.
31
+ - `--context-file` fornece resumo de até 8000 caracteres sem chamada extra ao modelo.
32
+ - JSON compacto; status com tarefas ativas e contadores; result/wait compactos.
33
+ - Resultados pendentes mostram somente ID/estado; relatórios limitados e --full explícito.
34
+ - Relatórios de até 100 palavras, contratos/evidências em arquivo e tarefas agrupadas.
35
+ - Usage por delta cumulativo de sessão, separando métricas sem dupla contagem.
36
+ - Agentes ociosos aguardam em FIFO sem chamadas ao modelo.
37
+ - Terminal ocioso limpo com a frase Aguardando tarefas.; logs/resultados persistem.
38
+ - Consulta do esquema já migrado sem criar lock de escrita desnecessário.
39
+
40
+ ```sh
41
+ ./team config --effort low
42
+ ./team task backend --file tarefa.md --context-file contexto.md
43
+ ./team task backend --continue ID --message 'Correção da mesma entrega'
44
+ ./team status
45
+ ./team wait ID --timeout 50
46
+ ./team result ID
47
+ ./team usage --task ID
48
+ ```
49
+
50
+ Não há economia percentual garantida: compare medições equivalentes de usage.
51
+ Cache integra entrada; raciocínio integra saída. Não some essas partes novamente.
52
+ As instruções genéricas mantêm autorizações operacionais, isolamento Node e os
53
+ checks obrigatórios de cada projeto; redução de contexto não dispensa validação.
54
+
55
+ ## Times existentes
56
+
57
+ Instalar este pacote atualiza a CLI de instalação. Cada time existente usa sua
58
+ própria cópia em tools/team_executor.py, preservada pela instalação. Atualizar outra raiz exige preservar seu estado/instruções, encerrar as entregas
59
+ com ./team stop e atualizar sua cópia de forma coordenada antes de start.
60
+ O pacote contém fontes selecionadas, testes e regras genéricas; dados, sessões,
61
+ repositórios consumidores e configurações privadas não são entradas do build.
62
+
63
+ ## Testes offline do pacote fonte
64
+
65
+ ```sh
66
+ PYTHONPATH=src python3 -B -m unittest discover -s tests
67
+ ```
68
+
69
+ Os testes usam banco temporário e eventos simulados; não chamam tmux/modelos/rede.
70
+ PROVENANCE.json identifica hashes reais da origem, do executor empacotado e das
71
+ instruções. Somente CONTROLLER_RULES foi adaptado para o template genérico atual;
72
+ o restante da AST do executor é idêntico à origem.
73
+
74
+ ## Manutenção e propriedade
75
+
76
+ Este repositório mantém o executor, distribuição, testes e templates genéricos.
77
+ Cada consumidor mantém seu controlador, instruções, configuração e runtime.
78
+ Atualizações aqui não movem fontes nem alteram times em execução.
79
+ O controlador do consumidor coordena seus gitlinks e registro de responsáveis.
80
+ Nenhuma licença foi acrescentada: não havia licença própria nos fontes selecionados.
81
+
82
+ A extração revisada pode ser reproduzida sem build/release:
83
+
84
+ ```sh
85
+ python3 tools/package_codex_team.py --source-root /caminho/da/origem --output /nova/pasta
86
+ ```
87
+
88
+ O exportador lê apenas os dois fontes Python explicitamente selecionados;
89
+ remove a seção de canvas específica do consumidor e verifica igualdade da AST
90
+ do executor fora de CONTROLLER_RULES. PROVENANCE.json registra os hashes.
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": "0.3.0",
3
+ "source": "tools/team_executor.py",
4
+ "source_sha256": "5dea9c99aed8e4599083c8413a5b0277457aae6a08dc44e61bc93565968b34f7",
5
+ "packaged_sha256": "5f02b1d7c0401fa07a1501d98f2433374fcbda5652e8f66402a0081b1a7af388",
6
+ "generic_rules_sha256": "56bd4c8cb2535b713fe39e4712bb1823c54acff42a7f87aa035a325e218f0aa3",
7
+ "behavior_ast_identical": true,
8
+ "default_effort": "low",
9
+ "default_model": null,
10
+ "configuration_policy": "fresh task sessions; explicit --continue; compact output",
11
+ "source_tests_sha256": "c7637d8abbc059ddf860ad0d4a2edb8c5b4a9421e2ad26dfceb804b0e999f2d7"
12
+ }
@@ -0,0 +1,83 @@
1
+ # codex-team 0.3.0
2
+
3
+ Executor local para equipes Codex com tmux, submódulos Git e filas persistentes.
4
+ Requer Python 3.10+, Git, tmux e a CLI Codex configurada, em sistema POSIX.
5
+ O pacote Python não tem dependências de runtime além da biblioteca padrão.
6
+
7
+ ## Instalar a partir das fontes
8
+
9
+ ```sh
10
+ python3 -m pip install .
11
+ codex-team --version
12
+ codex-team --root ./novo-time start --no-attach
13
+ ```
14
+
15
+ Em instalações Python gerenciadas pelo sistema, use um venv ou pipx e mantenha
16
+ seu bin/ no PATH. Não é necessário ignorar as proteções do gerenciador Python.
17
+ `codex-team-start --root ./novo-time --no-attach` é um atalho equivalente.
18
+ O primeiro start exige uma pasta nova ou vazia. Depois use ./team na raiz criada.
19
+
20
+ ## Configurações de economia incluídas
21
+
22
+ - Sessão nova por entrega; `--continue ID` retoma somente a mesma entrega.
23
+ - Esforço padrão low; modelo herdado do Codex, sem troca automática ou retry pago.
24
+ - `--context-file` fornece resumo de até 8000 caracteres sem chamada extra ao modelo.
25
+ - JSON compacto; status com tarefas ativas e contadores; result/wait compactos.
26
+ - Resultados pendentes mostram somente ID/estado; relatórios limitados e --full explícito.
27
+ - Relatórios de até 100 palavras, contratos/evidências em arquivo e tarefas agrupadas.
28
+ - Usage por delta cumulativo de sessão, separando métricas sem dupla contagem.
29
+ - Agentes ociosos aguardam em FIFO sem chamadas ao modelo.
30
+ - Terminal ocioso limpo com a frase Aguardando tarefas.; logs/resultados persistem.
31
+ - Consulta do esquema já migrado sem criar lock de escrita desnecessário.
32
+
33
+ ```sh
34
+ ./team config --effort low
35
+ ./team task backend --file tarefa.md --context-file contexto.md
36
+ ./team task backend --continue ID --message 'Correção da mesma entrega'
37
+ ./team status
38
+ ./team wait ID --timeout 50
39
+ ./team result ID
40
+ ./team usage --task ID
41
+ ```
42
+
43
+ Não há economia percentual garantida: compare medições equivalentes de usage.
44
+ Cache integra entrada; raciocínio integra saída. Não some essas partes novamente.
45
+ As instruções genéricas mantêm autorizações operacionais, isolamento Node e os
46
+ checks obrigatórios de cada projeto; redução de contexto não dispensa validação.
47
+
48
+ ## Times existentes
49
+
50
+ Instalar este pacote atualiza a CLI de instalação. Cada time existente usa sua
51
+ própria cópia em tools/team_executor.py, preservada pela instalação. Atualizar outra raiz exige preservar seu estado/instruções, encerrar as entregas
52
+ com ./team stop e atualizar sua cópia de forma coordenada antes de start.
53
+ O pacote contém fontes selecionadas, testes e regras genéricas; dados, sessões,
54
+ repositórios consumidores e configurações privadas não são entradas do build.
55
+
56
+ ## Testes offline do pacote fonte
57
+
58
+ ```sh
59
+ PYTHONPATH=src python3 -B -m unittest discover -s tests
60
+ ```
61
+
62
+ Os testes usam banco temporário e eventos simulados; não chamam tmux/modelos/rede.
63
+ PROVENANCE.json identifica hashes reais da origem, do executor empacotado e das
64
+ instruções. Somente CONTROLLER_RULES foi adaptado para o template genérico atual;
65
+ o restante da AST do executor é idêntico à origem.
66
+
67
+ ## Manutenção e propriedade
68
+
69
+ Este repositório mantém o executor, distribuição, testes e templates genéricos.
70
+ Cada consumidor mantém seu controlador, instruções, configuração e runtime.
71
+ Atualizações aqui não movem fontes nem alteram times em execução.
72
+ O controlador do consumidor coordena seus gitlinks e registro de responsáveis.
73
+ Nenhuma licença foi acrescentada: não havia licença própria nos fontes selecionados.
74
+
75
+ A extração revisada pode ser reproduzida sem build/release:
76
+
77
+ ```sh
78
+ python3 tools/package_codex_team.py --source-root /caminho/da/origem --output /nova/pasta
79
+ ```
80
+
81
+ O exportador lê apenas os dois fontes Python explicitamente selecionados;
82
+ remove a seção de canvas específica do consumidor e verifica igualdade da AST
83
+ do executor fora de CONTROLLER_RULES. PROVENANCE.json registra os hashes.
@@ -0,0 +1,23 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "codex-team"
7
+ version = "0.3.0"
8
+ description = "Local tmux team controller with compact context and durable task queues"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ dependencies = []
12
+
13
+ [project.scripts]
14
+ codex-team = "codex_team.executor:entrypoint"
15
+ codex-team-start = "codex_team.executor:start_entrypoint"
16
+
17
+ [tool.setuptools]
18
+ include-package-data = false
19
+
20
+ [tool.setuptools.packages.find]
21
+ where = ["src"]
22
+ include = ["codex_team"]
23
+ namespaces = false
@@ -0,0 +1,2 @@
1
+ from setuptools import setup
2
+ setup()
@@ -0,0 +1 @@
1
+ __version__ = '0.3.0'
@@ -0,0 +1,2 @@
1
+ from .executor import entrypoint
2
+ raise SystemExit(entrypoint())