@r1z4x/tezgah 1.13.0 → 1.14.0
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.
- package/CHANGELOG.md +175 -1
- package/MANIFEST +18 -0
- package/NOTICE +152 -0
- package/README.de.md +41 -20
- package/README.es.md +39 -19
- package/README.fr.md +41 -20
- package/README.md +15 -8
- package/README.tr.md +39 -21
- package/bin/codegen +9 -2
- package/bin/consult +6 -0
- package/bin/tezgah-adhd +3 -0
- package/bin/tezgah-agents +3 -0
- package/bin/tezgah-capture +3 -0
- package/bin/tezgah-design +329 -54
- package/bin/tezgah-docs +157 -41
- package/bin/tezgah-dsh +1 -1
- package/bin/tezgah-gate +7 -2
- package/bin/tezgah-import-ai-research +16 -4
- package/bin/tezgah-index +3 -0
- package/bin/tezgah-lessons +13 -4
- package/bin/tezgah-mcp +4 -0
- package/bin/tezgah-migrate +3 -0
- package/bin/tezgah-ocr-review +2 -1
- package/bin/tezgah-optimize +4 -1
- package/bin/tezgah-pony +3 -0
- package/bin/tezgah-research +12 -6
- package/bin/tezgah-rollback +3 -0
- package/bin/tezgah-route +1 -1
- package/bin/tezgah-setup +596 -157
- package/bin/tezgah-status +11 -1
- package/bin/tezgah-task +3 -0
- package/bin/tezgah.js +10 -3
- package/commands/adhd.md +1 -1
- package/docs/README.md +19 -8
- package/docs/architecture.md +2 -2
- package/docs/citations-baseline.json +11 -17
- package/docs/clarity-baseline.json +3 -3
- package/docs/contract.md +77 -31
- package/docs/environment.md +58 -24
- package/docs/evidence.md +49 -19
- package/docs/gate.md +71 -21
- package/docs/hosts.md +65 -52
- package/docs/layers.md +1 -1
- package/docs/operations.md +67 -24
- package/docs/research.md +1 -1
- package/docs/skills.md +31 -8
- package/docs/status-line.md +33 -23
- package/docs/testing.md +48 -17
- package/docs/vision.md +6 -2
- package/hooks/lang/en.json +5 -2
- package/hooks/lang/tr.json +3 -2
- package/hooks/projects-posttooluse.py +11 -3
- package/hooks/projects-stop.py +1 -1
- package/hooks/tezgah_context.py +40 -23
- package/hooks/tezgah_gate.py +404 -106
- package/hooks/tezgah_integrity.py +367 -97
- package/hooks/tezgah_lessons.py +5 -2
- package/hooks/tezgah_paths.py +17 -6
- package/hooks/tezgah_policy.py +13 -5
- package/hooks/tezgah_skill_pick.py +1 -1
- package/hooks/tezgah_snapshot.py +6 -3
- package/hooks/tezgah_stopspec.py +2 -1
- package/hosts/amp/hook.py +1 -1
- package/hosts/amp/tezgah-plugin.ts.in +13 -3
- package/hosts/antigravity/hook.py +1 -1
- package/hosts/codex/hook.py +1 -1
- package/hosts/commandcode/hook.py +1 -1
- package/hosts/copilot/hook.py +1 -1
- package/hosts/cursor/hook.py +2 -1
- package/hosts/droid/hook.py +1 -1
- package/hosts/gemini/hook.py +1 -1
- package/hosts/goose/hook.py +1 -1
- package/hosts/omp/hook.py +1 -1
- package/hosts/omp/tezgah-hook.ts.in +127 -35
- package/hosts/opencode/plugins/tezgah.js +209 -63
- package/hosts/qwen/hook.py +1 -1
- package/output-styles/tezgah.md +1 -1
- package/package.json +6 -3
- package/packaging/build.sh +4 -4
- package/packaging/install.sh +11 -0
- package/packaging/upgrade.sh +3 -0
- package/skills/ai-research/LICENSE +21 -0
- package/skills/design-contract/SKILL.md +27 -6
- package/skills/design-library/LICENSE +21 -0
- package/skills/plan-add/render_table.py +7 -0
- package/skills/pm-frameworks/LICENSE +21 -0
- package/skills/rl-env/LICENSE +201 -0
- package/skills/tezgah-contract/SKILL.md +2 -2
- package/third_party/open-code-review/LICENSE +201 -0
- package/third_party/open-code-review/README.md +15 -0
- package/third_party/open-code-review/prompts/main_task_system.md +26 -0
- package/third_party/open-code-review/prompts/review_filter_task_system.md +13 -0
- package/workflows/graph-map.js +14 -5
package/README.es.md
CHANGED
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
Tezgah arma a cada asistente de programación de IA que ejecutes — **omp, el
|
|
28
|
-
host principal**, más Claude Code, Codex, Cursor, opencode
|
|
29
|
-
DeepSeek
|
|
28
|
+
host principal**, más Claude Code, Codex, Cursor, opencode, el dsh de
|
|
29
|
+
DeepSeek, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI, Gemini
|
|
30
|
+
CLI, Antigravity CLI, Goose y Amp — con un solo contrato de trabajo, dentro de
|
|
31
|
+
las raíces de
|
|
30
32
|
repositorios que configures. Por sí solos, los asistentes divergen: uno
|
|
31
33
|
responde en turco mientras otro responde en inglés; uno usa grep donde otro
|
|
32
34
|
consulta un grafo de código; uno informa "hecho" sin ejecutar una prueba. Las
|
|
@@ -36,11 +38,14 @@ en un lugar llega a todos los hosts de la misma manera.
|
|
|
36
38
|
|
|
37
39
|
## Qué impone y registra tezgah
|
|
38
40
|
|
|
39
|
-
- **Un contrato,
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
- **Un contrato, catorce hosts.** omp, Claude Code, Codex, Cursor, opencode,
|
|
42
|
+
dsh, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI, Gemini CLI,
|
|
43
|
+
Antigravity CLI, Goose y Amp ven las mismas reglas, porque cada host es un
|
|
44
|
+
adaptador ligero sobre un único núcleo compartido — cambia una regla una vez
|
|
45
|
+
y todos la adoptan.
|
|
42
46
|
- **Declarar algo terminado exige una comprobación superada en el registro.**
|
|
43
|
-
Una compuerta de
|
|
47
|
+
Una compuerta de 17 reglas de rechazo y un aviso único por sesión detiene la
|
|
48
|
+
comprobación neutralizada —
|
|
44
49
|
`--no-verify`, `|| true`, una prueba canalizada a `tail`, un skip añadido a
|
|
45
50
|
mitad de vuelo — y la regla Stop rechaza una afirmación de finalización que
|
|
46
51
|
el registro de evidencias de la sesión no respalda. Rechaza el turno; no
|
|
@@ -49,7 +54,7 @@ en un lugar llega a todos los hosts de la misma manera.
|
|
|
49
54
|
dirigen a través de OpenResearch con una biblioteca incorporada de 98
|
|
50
55
|
habilidades upstream, cargada de una en una para que el contexto siga
|
|
51
56
|
siendo pequeño.
|
|
52
|
-
- **Cada regla tiene un interruptor de apagado.** Diecisiete interruptores — más
|
|
57
|
+
- **Cada regla tiene un interruptor de apagado.** Diecisiete interruptores de regla — más
|
|
53
58
|
las marcas por repositorio — eliminan el texto de la regla de la sesión, de
|
|
54
59
|
modo que la regla realmente se detiene en lugar de limitarse a figurar como
|
|
55
60
|
desactivada.
|
|
@@ -81,8 +86,14 @@ ninguno de los dos brazos:
|
|
|
81
86
|
- **Un punto débil del lector de afirmaciones de la regla Stop:** marcó
|
|
82
87
|
115/132 ejecuciones con tezgah y 90/131 sin él, pero solo el 10% y el 20% de
|
|
83
88
|
sus marcas eran declaraciones reales de terminado. Con tezgah el agente
|
|
84
|
-
respondió en turco, y el lector
|
|
85
|
-
arreglo parcial como afirmación
|
|
89
|
+
respondió en turco, y el lector contaba `doğrulandı` (verificado) sobre un
|
|
90
|
+
arreglo parcial como afirmación, incluso junto a un `doğrulanmadı` (no
|
|
91
|
+
verificado) para la prueba que falla. Esa forma está corregida (commit
|
|
92
|
+
9cb4d1d; recall en el conjunto reservado 0.857, por debajo del umbral de 0.9
|
|
93
|
+
del plan). Queda un residuo más estrecho: un arreglo parcial en turco
|
|
94
|
+
expresado sin palabra de admisión (`hâlâ başarısız`, aún falla; `kısmen`,
|
|
95
|
+
parcialmente) sigue leyéndose como terminado y verificado, mientras que su
|
|
96
|
+
gemelo en inglés se lee solo como verificación.
|
|
86
97
|
|
|
87
98
|
La ejecución tuvo fallos de instrumento, entre ellos agentes de ambos brazos
|
|
88
99
|
que podían leer la verdad de referencia del benchmark. Los agregados, los
|
|
@@ -94,8 +105,12 @@ recuentos por tarea y cada salvedad están en el
|
|
|
94
105
|
## Instalación
|
|
95
106
|
|
|
96
107
|
Una línea, en macOS, Linux o WSL (Python 3.10+, `curl`, `tar`). Descarga la
|
|
97
|
-
última versión, comprueba su sha256
|
|
98
|
-
Code a través de su propia CLI `claude plugin`)
|
|
108
|
+
última versión, comprueba su sha256, arma cada host que encuentra (Claude
|
|
109
|
+
Code a través de su propia CLI `claude plugin`) e instala las herramientas
|
|
110
|
+
opcionales que faltan y que tezgah mismo usa (orx; `TEZGAH_NO_DEPS=1` las
|
|
111
|
+
omite). Nunca instala la CLI propia de un host (cursor-agent, pnpm, dsh):
|
|
112
|
+
imprime el comando en su lugar, o lo ejecuta con
|
|
113
|
+
`tezgah-setup --install --host-deps`.
|
|
99
114
|
|
|
100
115
|
```bash
|
|
101
116
|
curl -fsSL https://raw.githubusercontent.com/r1z4x/tezgah/main/packaging/install.sh | sh
|
|
@@ -115,18 +130,23 @@ con un código distinto de cero cuando un host previsto no queda armado.
|
|
|
115
130
|
`~/.omp/agent/RULES.md`). Los hooks de Claude Code van en un plugin
|
|
116
131
|
registrado con `claude plugin`; sin la CLI `claude`, Claude queda sin armar y
|
|
117
132
|
el informe lo dice.
|
|
118
|
-
- **Archivos de agentes
|
|
119
|
-
|
|
120
|
-
|
|
133
|
+
- **Archivos de agentes.** La instalación escribe los roles de subagente de
|
|
134
|
+
tezgah en `~/.claude/agents/`, `$CODEX_HOME/agents/` (por defecto
|
|
135
|
+
`~/.codex/agents/`) y `~/.omp/agent/agents/`. Dentro de las raíces
|
|
136
|
+
configuradas, una sesión los escribe en `.cursor/agents/` y
|
|
137
|
+
`.opencode/agents/` del repositorio, y añade esos directorios al
|
|
121
138
|
`.git/info/exclude` propio del clon (`TEZGAH_NO_EXCLUDE=1` lo impide).
|
|
122
139
|
- **Una comprobación diaria de actualizaciones.** La línea de estado pregunta
|
|
123
140
|
por una versión nueva como mucho una vez al día;
|
|
124
141
|
`~/.config/tezgah/update-check-off` o `TEZGAH_UPDATE_CHECK=0` la desactiva.
|
|
125
142
|
- **orx.** La instalación descarga la CLI de OpenResearch por la que pasan las
|
|
126
143
|
tareas de investigación; `TEZGAH_NO_DEPS=1` la omite.
|
|
127
|
-
- **Idioma de las respuestas.**
|
|
128
|
-
|
|
129
|
-
|
|
144
|
+
- **Idioma de las respuestas.** Una primera instalación pide respuestas en el
|
|
145
|
+
idioma de tu locale (`LANG` y similares) cuando tezgah trae un paquete para
|
|
146
|
+
él (`tr`, `en`), si no en inglés; una instalación existente conserva su
|
|
147
|
+
idioma. `--language en` pide inglés y `any` tu propio idioma:
|
|
148
|
+
`curl -fsSL … | sh -s -- --reply-lang en` (la grafía antigua del instalador
|
|
149
|
+
para `--language`). La regla Stop solo comprueba las respuestas en turco.
|
|
130
150
|
|
|
131
151
|
¿Prefieres que lo haga tu asistente de programación? Pega esto en omp,
|
|
132
152
|
Claude Code, Codex, Cursor u opencode (el prompt queda en inglés; el
|
|
@@ -156,7 +176,7 @@ actualizaciones y las integraciones opcionales están en la [documentación](doc
|
|
|
156
176
|
|
|
157
177
|
## Hosts compatibles
|
|
158
178
|
|
|
159
|
-
**omp** (el host principal, contra el que se desarrolla y verifica), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh** — adaptadores ligeros sobre un único núcleo compartido.
|
|
179
|
+
**omp** (el host principal, contra el que se desarrolla y verifica), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh**, **Qwen Code**, **Factory Droid**, **Command Code**, **GitHub Copilot CLI**, **Gemini CLI**, **Antigravity CLI**, **Goose**, **Amp** — adaptadores ligeros sobre un único núcleo compartido. Ninguna ejecución de los binarios de los ocho últimos ha mostrado todavía que obedezcan un deny, y los seis últimos están conectados solo a partir de la documentación de sus fabricantes ([hosts](docs/hosts.md), en inglés).
|
|
160
180
|
|
|
161
181
|
## Dónde está la profundidad
|
|
162
182
|
|
|
@@ -165,4 +185,4 @@ La compuerta, el registro de evidencia, los adaptadores de host, la configuraci
|
|
|
165
185
|
## Licencia
|
|
166
186
|
|
|
167
187
|
MIT — ver [LICENSE](LICENSE).
|
|
168
|
-
Las habilidades
|
|
188
|
+
Las habilidades y textos de terceros incorporados y adaptados conservan sus propios términos (MIT o Apache-2.0), registrados en [NOTICE](NOTICE).
|
package/README.fr.md
CHANGED
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
Tezgah arme chaque assistant de codage IA que vous exécutez — **omp, l'hôte
|
|
28
|
-
principal**, plus Claude Code, Codex, Cursor, opencode
|
|
29
|
-
|
|
28
|
+
principal**, plus Claude Code, Codex, Cursor, opencode, le dsh de DeepSeek,
|
|
29
|
+
Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI, Gemini CLI,
|
|
30
|
+
Antigravity CLI, Goose et Amp — avec un seul contrat de travail, à l'intérieur
|
|
31
|
+
des racines de dépôts que vous
|
|
30
32
|
configurez. Laissés à eux-mêmes, les assistants divergent : l'un répond en
|
|
31
33
|
turc pendant qu'un autre répond en anglais ; l'un utilise grep là où un autre
|
|
32
34
|
interroge un graphe de code ; l'un annonce « terminé » sans exécuter de test.
|
|
@@ -36,11 +38,14 @@ modifiée à un endroit atteint chaque hôte de la même façon.
|
|
|
36
38
|
|
|
37
39
|
## Ce que tezgah impose et enregistre
|
|
38
40
|
|
|
39
|
-
- **Un contrat,
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
- **Un contrat, quatorze hôtes.** omp, Claude Code, Codex, Cursor, opencode,
|
|
42
|
+
dsh, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI, Gemini CLI,
|
|
43
|
+
Antigravity CLI, Goose et Amp voient les mêmes règles, car chaque hôte est un
|
|
44
|
+
adaptateur léger au-dessus d'un seul cœur partagé — modifiez une règle une
|
|
45
|
+
fois, tous l'adoptent.
|
|
42
46
|
- **Annoncer « terminé » exige une vérification réussie dans le registre.**
|
|
43
|
-
Une porte de
|
|
47
|
+
Une porte de 17 règles de refus et un rappel unique par session arrête la
|
|
48
|
+
vérification neutralisée — `--no-verify`,
|
|
44
49
|
`|| true`, un test redirigé vers `tail`, un skip ajouté en plein vol — et la
|
|
45
50
|
règle Stop refuse une affirmation d'achèvement que le registre de preuves de
|
|
46
51
|
la session ne peut pas étayer. Elle refuse le tour ; elle ne peut pas
|
|
@@ -48,7 +53,7 @@ modifiée à un endroit atteint chaque hôte de la même façon.
|
|
|
48
53
|
- **La recherche arrive avec sa bibliothèque.** Les tâches de recherche
|
|
49
54
|
passent par OpenResearch avec une bibliothèque intégrée de 98 compétences
|
|
50
55
|
upstream, chargée une entrée à la fois pour que le contexte reste petit.
|
|
51
|
-
- **Chaque règle a un interrupteur.** Dix-sept interrupteurs — plus des
|
|
56
|
+
- **Chaque règle a un interrupteur.** Dix-sept interrupteurs de règle — plus des
|
|
52
57
|
marques par dépôt — retirent le texte de la règle de la session ; la règle
|
|
53
58
|
s'arrête vraiment au lieu de simplement figurer comme désactivée.
|
|
54
59
|
- **Une forme de réponse fixe.** Les réponses sont en turc, sauf si vous choisissez une autre langue, et
|
|
@@ -79,8 +84,14 @@ aucun des deux bras :
|
|
|
79
84
|
- **Un point faible du lecteur d'affirmations de la règle Stop :** il a
|
|
80
85
|
signalé 115/132 exécutions avec tezgah et 90/131 sans, mais seuls 10% et 20%
|
|
81
86
|
de ses signalements étaient de vraies annonces de fin. Avec tezgah, l'agent
|
|
82
|
-
répondait en turc, et le lecteur
|
|
83
|
-
correctif partiel comme une affirmation
|
|
87
|
+
répondait en turc, et le lecteur comptait `doğrulandı` (vérifié) sur un
|
|
88
|
+
correctif partiel comme une affirmation, même à côté d'un `doğrulanmadı`
|
|
89
|
+
(non vérifié) pour le test qui échoue. Cette forme est corrigée (commit
|
|
90
|
+
9cb4d1d ; rappel sur l'ensemble réservé 0.857, sous le seuil de 0.9 du
|
|
91
|
+
plan). Un résidu plus étroit demeure : un correctif partiel en turc formulé
|
|
92
|
+
sans mot d'aveu (`hâlâ başarısız`, échoue encore ; `kısmen`, partiellement)
|
|
93
|
+
se lit encore comme terminé et vérifié, alors que son jumeau anglais se lit
|
|
94
|
+
comme une vérification seulement.
|
|
84
95
|
|
|
85
96
|
L'exécution avait des défauts d'instrument, entre autres des agents des deux
|
|
86
97
|
bras qui pouvaient lire la vérité terrain du benchmark. Les agrégats, les
|
|
@@ -92,8 +103,12 @@ comptes par tâche et chaque réserve sont dans le
|
|
|
92
103
|
## Installation
|
|
93
104
|
|
|
94
105
|
Une ligne, sur macOS, Linux ou WSL (Python 3.10+, `curl`, `tar`). Elle
|
|
95
|
-
télécharge la dernière version, vérifie son sha256
|
|
96
|
-
|
|
106
|
+
télécharge la dernière version, vérifie son sha256, arme chaque hôte trouvé
|
|
107
|
+
(Claude Code par sa propre CLI `claude plugin`) et installe les outils
|
|
108
|
+
optionnels manquants que tezgah utilise lui-même (orx ; `TEZGAH_NO_DEPS=1`
|
|
109
|
+
les ignore). Elle n'installe jamais la CLI propre d'un hôte (cursor-agent,
|
|
110
|
+
pnpm, dsh) : elle affiche la commande à la place, ou l'exécute sous
|
|
111
|
+
`tezgah-setup --install --host-deps`.
|
|
97
112
|
|
|
98
113
|
```bash
|
|
99
114
|
curl -fsSL https://raw.githubusercontent.com/r1z4x/tezgah/main/packaging/install.sh | sh
|
|
@@ -113,18 +128,24 @@ non nul quand un hôte prévu n'est pas armé.
|
|
|
113
128
|
hooks de Claude Code sont livrés dans un plugin enregistré par
|
|
114
129
|
`claude plugin` ; sans CLI `claude`, Claude reste non armé et le rapport le
|
|
115
130
|
dit.
|
|
116
|
-
- **Des fichiers d'agents
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
`.
|
|
131
|
+
- **Des fichiers d'agents.** L'installation écrit les rôles de sous-agents de
|
|
132
|
+
tezgah dans `~/.claude/agents/`, `$CODEX_HOME/agents/` (par défaut
|
|
133
|
+
`~/.codex/agents/`) et `~/.omp/agent/agents/`. Dans les racines configurées,
|
|
134
|
+
une session les écrit dans `.cursor/agents/` et `.opencode/agents/` du
|
|
135
|
+
dépôt, et ajoute ces répertoires au `.git/info/exclude` propre au clone
|
|
136
|
+
(`TEZGAH_NO_EXCLUDE=1` l'empêche).
|
|
120
137
|
- **Une vérification quotidienne des mises à jour.** La ligne d'état demande
|
|
121
138
|
une nouvelle version au plus une fois par jour ;
|
|
122
139
|
`~/.config/tezgah/update-check-off` ou `TEZGAH_UPDATE_CHECK=0` la coupe.
|
|
123
140
|
- **orx.** L'installation télécharge la CLI OpenResearch par laquelle passent
|
|
124
141
|
les tâches de recherche ; `TEZGAH_NO_DEPS=1` l'ignore.
|
|
125
|
-
- **Langue des réponses.**
|
|
126
|
-
|
|
127
|
-
|
|
142
|
+
- **Langue des réponses.** Une première installation demande des réponses
|
|
143
|
+
dans la langue de votre locale (`LANG` et variables voisines) quand tezgah
|
|
144
|
+
livre un pack pour elle (`tr`, `en`), sinon en anglais ; une installation
|
|
145
|
+
existante garde sa langue. `--language en` demande l'anglais et `any` votre
|
|
146
|
+
propre langue : `curl -fsSL … | sh -s -- --reply-lang en` (l'ancienne
|
|
147
|
+
graphie de `--language` dans l'installeur). La règle Stop ne contrôle que
|
|
148
|
+
les réponses en turc.
|
|
128
149
|
|
|
129
150
|
Vous préférez laisser votre assistant de codage s'en charger ? Collez ceci
|
|
130
151
|
dans omp, Claude Code, Codex, Cursor ou opencode (le prompt reste en anglais
|
|
@@ -154,7 +175,7 @@ mises à niveau et intégrations optionnelles sont dans la [documentation](docs/
|
|
|
154
175
|
|
|
155
176
|
## Hôtes pris en charge
|
|
156
177
|
|
|
157
|
-
**omp** (l'hôte principal, contre lequel tezgah est développé et vérifié), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh** — des adaptateurs légers au-dessus d'un seul cœur partagé.
|
|
178
|
+
**omp** (l'hôte principal, contre lequel tezgah est développé et vérifié), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh**, **Qwen Code**, **Factory Droid**, **Command Code**, **GitHub Copilot CLI**, **Gemini CLI**, **Antigravity CLI**, **Goose**, **Amp** — des adaptateurs légers au-dessus d'un seul cœur partagé. Aucune exécution des binaires des huit derniers n'a encore montré qu'ils obéissent à un refus, et les six derniers sont câblés à partir de la seule documentation de leurs éditeurs ([hôtes](docs/hosts.md), en anglais).
|
|
158
179
|
|
|
159
180
|
## Où se trouve la profondeur
|
|
160
181
|
|
|
@@ -163,4 +184,4 @@ La porte, le registre de preuves, les adaptateurs d'hôtes, la configuration et
|
|
|
163
184
|
## Licence
|
|
164
185
|
|
|
165
186
|
MIT — voir [LICENSE](LICENSE).
|
|
166
|
-
Les compétences
|
|
187
|
+
Les compétences et textes tiers intégrés et adaptés gardent leurs propres termes (MIT ou Apache-2.0), consignés dans [NOTICE](NOTICE).
|
package/README.md
CHANGED
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
Tezgah arms every AI coding assistant you run — **omp, the primary host**,
|
|
28
|
-
plus Claude Code, Codex, Cursor, opencode
|
|
29
|
-
|
|
28
|
+
plus Claude Code, Codex, Cursor, opencode, DeepSeek's dsh harness, Qwen Code,
|
|
29
|
+
Factory Droid, Command Code, GitHub Copilot CLI, Gemini CLI, Antigravity CLI,
|
|
30
|
+
Goose and Amp — with one working contract, inside the repository roots you
|
|
31
|
+
configure. Left alone, each
|
|
30
32
|
assistant drifts: one answers in Turkish while another answers in English, one
|
|
31
33
|
greps where another queries a code graph, one reports "done" without running a
|
|
32
34
|
test. The rules live once in a shared core; each host gets a thin adapter that
|
|
@@ -39,7 +41,8 @@ reaches every host the same way.
|
|
|
39
41
|
dsh, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI, Gemini CLI,
|
|
40
42
|
Antigravity CLI, Goose and Amp see the same rules, because every host is a thin adapter over one shared
|
|
41
43
|
core — change a rule once and all of them pick it up.
|
|
42
|
-
- **A done claim needs a passing check on record.** A gate of
|
|
44
|
+
- **A done claim needs a passing check on record.** A gate of 17 refusal rules
|
|
45
|
+
and a once-per-session nudge stops
|
|
43
46
|
the neutered check — `--no-verify`, `|| true`, a test piped into `tail`, a
|
|
44
47
|
skip added mid-flight — and the Stop rule refuses a completion claim the
|
|
45
48
|
session's evidence ledger cannot back. It refuses the turn; it cannot make
|
|
@@ -47,7 +50,7 @@ reaches every host the same way.
|
|
|
47
50
|
- **Research ships with its library.** Research tasks route through
|
|
48
51
|
OpenResearch with a vendored library of 98 upstream skills, loaded one entry
|
|
49
52
|
at a time so the context stays small.
|
|
50
|
-
- **Every rule has an off switch.** Seventeen
|
|
53
|
+
- **Every rule has an off switch.** Seventeen rule switches — plus per-repo
|
|
51
54
|
marks — remove a rule's text from the session, so the rule actually stops
|
|
52
55
|
rather than merely showing as off.
|
|
53
56
|
- **A fixed reply shape.** Replies lead with the outcome, in Turkish unless
|
|
@@ -75,8 +78,12 @@ either arm:
|
|
|
75
78
|
- **A weak spot in the Stop rule's claim reader:** it flagged 115/132 runs
|
|
76
79
|
with tezgah and 90/131 without, but only 10% and 20% of the flags it raised
|
|
77
80
|
were real done claims. With tezgah the agent replied in Turkish, and the
|
|
78
|
-
reader
|
|
79
|
-
|
|
81
|
+
reader counted `doğrulandı` (verified) on a partial fix as a claim, even
|
|
82
|
+
beside a `doğrulanmadı` (not verified) for the failing test. That shape is
|
|
83
|
+
fixed (commit 9cb4d1d; held-out recall 0.857, below the plan's 0.9 bar). A
|
|
84
|
+
narrower residual remains: a Turkish partial fix stated with no admission
|
|
85
|
+
word (`hâlâ başarısız`, still failing; `kısmen`, partially) still reads as
|
|
86
|
+
done and verified, while its English twin reads as verification only.
|
|
80
87
|
|
|
81
88
|
The run had instrument flaws, among them agents in both arms that could read
|
|
82
89
|
the benchmark's ground truth. The aggregates, per-task counts and every caveat
|
|
@@ -155,7 +162,7 @@ and the optional integrations are in the [docs](docs/README.md).
|
|
|
155
162
|
|
|
156
163
|
## Supported hosts
|
|
157
164
|
|
|
158
|
-
**omp** (the primary host, developed and verified against), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh**, **Qwen Code**, **Factory Droid**, **Command Code**, **GitHub Copilot CLI**, **Gemini CLI**, **Antigravity CLI**, **Goose**, **Amp** — thin adapters over one shared core.
|
|
165
|
+
**omp** (the primary host, developed and verified against), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh**, **Qwen Code**, **Factory Droid**, **Command Code**, **GitHub Copilot CLI**, **Gemini CLI**, **Antigravity CLI**, **Goose**, **Amp** — thin adapters over one shared core. No run of the last eight's binaries has shown them obeying a deny yet, and the last six are wired from their vendors' docs alone ([hosts](docs/hosts.md)).
|
|
159
166
|
|
|
160
167
|
## Where the depth lives
|
|
161
168
|
|
|
@@ -164,4 +171,4 @@ The gate, the evidence ledger, the host adapters, configuration and development
|
|
|
164
171
|
## License
|
|
165
172
|
|
|
166
173
|
MIT — see [LICENSE](LICENSE).
|
|
167
|
-
Vendored
|
|
174
|
+
Vendored and adapted third-party skills and texts keep their own terms (MIT or Apache-2.0), recorded in [NOTICE](NOTICE).
|
package/README.tr.md
CHANGED
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
Tezgah, çalıştırdığınız her yapay zeka kodlama asistanını — **birincil
|
|
28
|
-
barındırıcı olan omp** ve Claude Code, Codex, Cursor, opencode
|
|
29
|
-
dsh
|
|
28
|
+
barındırıcı olan omp** ve Claude Code, Codex, Cursor, opencode, DeepSeek'in
|
|
29
|
+
dsh donanımı, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI,
|
|
30
|
+
Gemini CLI, Antigravity CLI, Goose ile Amp — yapılandırdığınız depo kökleri
|
|
31
|
+
içinde tek bir çalışma
|
|
30
32
|
sözleşmesiyle donatır. Kendi haline bırakıldığında her asistan sapar: biri
|
|
31
33
|
Türkçe yanıt verirken diğeri İngilizce yanıt verir, biri grep kullanırken
|
|
32
34
|
diğeri bir kod grafiğini sorgular, biri test çalıştırmadan "tamamlandı" der.
|
|
@@ -36,11 +38,14 @@ değiştirdiğinizde her barındırıcıya aynı şekilde ulaşır.
|
|
|
36
38
|
|
|
37
39
|
## tezgah neyi zorunlu kılar ve kaydeder
|
|
38
40
|
|
|
39
|
-
- **Tek sözleşme,
|
|
40
|
-
opencode
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
- **Tek sözleşme, on dört barındırıcı.** omp, Claude Code, Codex, Cursor,
|
|
42
|
+
opencode, dsh, Qwen Code, Factory Droid, Command Code, GitHub Copilot CLI,
|
|
43
|
+
Gemini CLI, Antigravity CLI, Goose ve Amp aynı kuralları görür, çünkü her
|
|
44
|
+
barındırıcı paylaşılan tek bir çekirdeğin ince bir adaptörüdür — kuralı bir
|
|
45
|
+
kez değiştirin, hepsi alır.
|
|
46
|
+
- **"Tamamlandı" demek için kayıtta geçmiş bir kontrol gerekir.** 17 ret
|
|
47
|
+
kuralı ve oturum başına bir kez uyarıdan oluşan bir kapı, etkisizleştirilmiş
|
|
48
|
+
kontrolü durdurur — `--no-verify`,
|
|
44
49
|
`|| true`, `tail`'e yönlendirilmiş bir test, uçuş sırasında eklenen bir
|
|
45
50
|
skip — ve Stop kuralı, oturumun kanıt defterinin desteklemediği tamamlanma
|
|
46
51
|
iddiasını reddeder. Turu reddeder; modelin bu iddiayı dile getirmesini
|
|
@@ -48,7 +53,7 @@ değiştirdiğinizde her barındırıcıya aynı şekilde ulaşır.
|
|
|
48
53
|
- **Araştırma kütüphanesiyle birlikte gelir.** Araştırma görevleri,
|
|
49
54
|
bağlamın küçük kalması için tek tek yüklenen 98 becerilik gömülü
|
|
50
55
|
bir kütüphaneyle OpenResearch üzerinden yürütülür.
|
|
51
|
-
- **Her kuralın bir kapatma anahtarı vardır.** On yedi
|
|
56
|
+
- **Her kuralın bir kapatma anahtarı vardır.** On yedi kural anahtarı — ve
|
|
52
57
|
depo başına işaretler — kuralın metnini oturumdan kaldırır; böylece kural
|
|
53
58
|
yalnızca kapalı görünmez, gerçekten durur.
|
|
54
59
|
- **Sabit bir yanıt biçimi.** Yanıtlar, başka bir dil seçmediyseniz Türkçedir ve sonuçla
|
|
@@ -76,8 +81,12 @@ ile tam tezgah kurulumu karşılaştırıldı) hilede ölçülebilir bir azalma
|
|
|
76
81
|
- **Stop kuralının iddia okuyucusunda bir zayıf nokta:** tezgah ile 115/132,
|
|
77
82
|
tezgah'sız 90/131 çalıştırmayı işaretledi, ama işaretlerinin yalnızca %10'u
|
|
78
83
|
ve %20'si gerçek "bitti" iddiasıydı. tezgah ile ajan Türkçe yanıt verdi ve
|
|
79
|
-
okuyucu kısmi bir düzeltmedeki `doğrulandı`
|
|
80
|
-
|
|
84
|
+
okuyucu kısmi bir düzeltmedeki `doğrulandı` sözcüğünü, başarısız test için
|
|
85
|
+
yazılmış bir `doğrulanmadı` yanında bile iddia sayıyordu. Bu biçim düzeltildi
|
|
86
|
+
(commit 9cb4d1d; ayrılmış kümede duyarlılık 0.857, planın 0.9 eşiğinin
|
|
87
|
+
altında). Daha dar bir artık kalıyor: kabul sözcüğü içermeyen Türkçe bir
|
|
88
|
+
kısmi düzeltme (`hâlâ başarısız`, `kısmen`) hâlâ bitti ve doğrulandı olarak
|
|
89
|
+
okunuyor; İngilizce ikizi ise yalnızca doğrulama olarak okunuyor.
|
|
81
90
|
|
|
82
91
|
Çalıştırmada ölçüm aracı kusurları vardı; bunların arasında, iki koldaki
|
|
83
92
|
ajanların benchmark'ın doğru cevaplarını okuyabilmesi de var. Toplamlar, görev
|
|
@@ -89,8 +98,12 @@ başına sayımlar ve her çekince
|
|
|
89
98
|
## Kurulum
|
|
90
99
|
|
|
91
100
|
Tek satır, macOS, Linux veya WSL'de (Python 3.10+, `curl`, `tar`). Son sürümü
|
|
92
|
-
indirir, sha256'sını doğrular
|
|
93
|
-
|
|
101
|
+
indirir, sha256'sını doğrular, bulduğu her barındırıcıyı kurar (Claude Code'u
|
|
102
|
+
kendi `claude plugin` CLI'ı üzerinden) ve tezgah'ın kendi kullandığı eksik
|
|
103
|
+
isteğe bağlı araçları kurar (orx; `TEZGAH_NO_DEPS=1` bunları atlar). Bir
|
|
104
|
+
barındırıcının kendi CLI'ını (cursor-agent, pnpm, dsh) asla kurmaz: bunun
|
|
105
|
+
yerine komutu yazdırır ya da `tezgah-setup --install --host-deps` altında
|
|
106
|
+
çalıştırır.
|
|
94
107
|
|
|
95
108
|
```bash
|
|
96
109
|
curl -fsSL https://raw.githubusercontent.com/r1z4x/tezgah/main/packaging/install.sh | sh
|
|
@@ -110,18 +123,23 @@ planladığı bir barındırıcı kurulamazsa sıfırdan farklı bir kodla çık
|
|
|
110
123
|
yönetilen bir sözleşme bloğunu alır. Claude Code'un hook'ları `claude plugin`
|
|
111
124
|
ile kaydedilen bir eklentide gelir; `claude` CLI'ı yoksa Claude kurulmamış
|
|
112
125
|
kalır ve rapor bunu söyler.
|
|
113
|
-
- **
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
126
|
+
- **Ajan dosyaları.** Kurulum, tezgah'ın alt ajan rollerini
|
|
127
|
+
`~/.claude/agents/`, `$CODEX_HOME/agents/` (varsayılan `~/.codex/agents/`) ve
|
|
128
|
+
`~/.omp/agent/agents/` altına yazar. Yapılandırılan köklerde bir oturum
|
|
129
|
+
bunları deponun `.cursor/agents/` ve `.opencode/agents/` dizinlerine yazar ve
|
|
130
|
+
bu dizinleri klonun kendi `.git/info/exclude` dosyasına ekler
|
|
131
|
+
(`TEZGAH_NO_EXCLUDE=1` bunu durdurur).
|
|
117
132
|
- **Günlük güncelleme denetimi.** Durum satırı yeni bir sürümü günde en fazla
|
|
118
133
|
bir kez sorar; `~/.config/tezgah/update-check-off` ya da
|
|
119
134
|
`TEZGAH_UPDATE_CHECK=0` bunu kapatır.
|
|
120
135
|
- **orx.** Kurulum, araştırma görevlerinin yönlendirildiği OpenResearch CLI'ını
|
|
121
136
|
indirir; `TEZGAH_NO_DEPS=1` bunu atlar.
|
|
122
|
-
- **Yanıt dili.**
|
|
123
|
-
|
|
124
|
-
|
|
137
|
+
- **Yanıt dili.** İlk kurulum, tezgah o dil için bir paket taşıyorsa (`tr`,
|
|
138
|
+
`en`) yerel ayarınızın dilinde (`LANG` ve benzerleri), yoksa İngilizce yanıt
|
|
139
|
+
ister; mevcut bir kurulum dilini korur. `--language en` İngilizce, `any` ise
|
|
140
|
+
sizin dilinizi ister: `curl -fsSL … | sh -s -- --reply-lang en` (kurucunun
|
|
141
|
+
`--language` için eski yazımı). Stop kuralı yalnızca Türkçe yanıtları
|
|
142
|
+
denetler.
|
|
125
143
|
|
|
126
144
|
Kurulumu kodlama asistanınıza yaptırmak isterseniz bunu omp, Claude Code,
|
|
127
145
|
Codex, Cursor veya opencode'a yapıştırın (istem İngilizce; asistan her dilde
|
|
@@ -151,7 +169,7 @@ yükseltme ve isteğe bağlı entegrasyonlar [docs](docs/README.md) altındadır
|
|
|
151
169
|
|
|
152
170
|
## Desteklenen barındırıcılar
|
|
153
171
|
|
|
154
|
-
**omp** (birincil barındırıcı; tezgah buna göre geliştirilir ve doğrulanır), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh** — paylaşılan tek çekirdeğin ince adaptörleri.
|
|
172
|
+
**omp** (birincil barındırıcı; tezgah buna göre geliştirilir ve doğrulanır), **Claude Code**, **Codex**, **Cursor**, **opencode**, **dsh**, **Qwen Code**, **Factory Droid**, **Command Code**, **GitHub Copilot CLI**, **Gemini CLI**, **Antigravity CLI**, **Goose**, **Amp** — paylaşılan tek çekirdeğin ince adaptörleri. Son sekizinin ikili dosyalarının bir deny'a uyduğunu gösteren bir çalıştırma henüz yok; son altısı yalnızca üreticilerinin belgelerine göre bağlandı ([barındırıcılar](docs/hosts.md), İngilizce).
|
|
155
173
|
|
|
156
174
|
## Ayrıntılar nerede
|
|
157
175
|
|
|
@@ -160,4 +178,4 @@ Kapı, kanıt defteri, barındırıcı adaptörleri, yapılandırma ve geliştir
|
|
|
160
178
|
## Lisans
|
|
161
179
|
|
|
162
180
|
MIT — bkz. [LICENSE](LICENSE).
|
|
163
|
-
Katıştırılmış
|
|
181
|
+
Katıştırılmış ve uyarlanmış üçüncü taraf beceri ve metinler kendi koşullarını (MIT ya da Apache-2.0) korur; bkz. [NOTICE](NOTICE).
|
package/bin/codegen
CHANGED
|
@@ -218,6 +218,13 @@ def ask(task, files, model, provider, timeout, max_tokens):
|
|
|
218
218
|
return (msg.get("content") or "").strip(), out.get("usage") or {}
|
|
219
219
|
|
|
220
220
|
|
|
221
|
+
def whole(flag, value):
|
|
222
|
+
"""`value` as a whole number, or the misuse exit (1) naming `flag`."""
|
|
223
|
+
if not value.isdecimal():
|
|
224
|
+
sys.exit("codegen: %s needs a whole number, not %r" % (flag, value))
|
|
225
|
+
return int(value)
|
|
226
|
+
|
|
227
|
+
|
|
221
228
|
def main():
|
|
222
229
|
args = sys.argv[1:]
|
|
223
230
|
if args and args[0] in ("-h", "--help"):
|
|
@@ -239,11 +246,11 @@ def main():
|
|
|
239
246
|
if args[i] == "--model" and i + 1 < len(args):
|
|
240
247
|
model = args[i + 1]; i += 2; continue
|
|
241
248
|
if args[i] == "--timeout" and i + 1 < len(args):
|
|
242
|
-
timeout =
|
|
249
|
+
timeout = whole(args[i], args[i + 1]); i += 2; continue
|
|
243
250
|
if args[i] == "--out-dir" and i + 1 < len(args):
|
|
244
251
|
out_dir = args[i + 1]; i += 2; continue
|
|
245
252
|
if args[i] == "--max-tokens" and i + 1 < len(args):
|
|
246
|
-
max_tokens =
|
|
253
|
+
max_tokens = whole(args[i], args[i + 1]); i += 2; continue
|
|
247
254
|
sys.exit(f"codegen: unknown argument {args[i]}")
|
|
248
255
|
if provider not in PROVIDERS:
|
|
249
256
|
sys.exit("codegen: unknown provider %r (use %s)"
|
package/bin/consult
CHANGED
|
@@ -582,8 +582,14 @@ def main():
|
|
|
582
582
|
referee = False
|
|
583
583
|
i += 1
|
|
584
584
|
elif args[i] == "--timeout" and i + 1 < len(args):
|
|
585
|
+
if not args[i + 1].isdecimal():
|
|
586
|
+
sys.exit("consult: --timeout needs whole seconds, not %r" % args[i + 1])
|
|
585
587
|
timeout = int(args[i + 1])
|
|
586
588
|
i += 2
|
|
589
|
+
elif args[i].startswith("--"):
|
|
590
|
+
# a lone typo was the question: a paid panel call for `--bogus`.
|
|
591
|
+
# A question that starts with `--` still comes in via `consult -`.
|
|
592
|
+
sys.exit("consult: unknown flag %r" % args[i])
|
|
587
593
|
elif question is None:
|
|
588
594
|
question = args[i]
|
|
589
595
|
i += 1
|
package/bin/tezgah-adhd
CHANGED
|
@@ -25,6 +25,9 @@ def main(argv):
|
|
|
25
25
|
print(__doc__.strip())
|
|
26
26
|
return 0
|
|
27
27
|
args = [a for a in argv if not a.startswith("-")]
|
|
28
|
+
if len(args) != len(argv):
|
|
29
|
+
print("%s\narguments: on, off" % USAGE, file=sys.stderr)
|
|
30
|
+
return 2
|
|
28
31
|
if not args:
|
|
29
32
|
print("off" if off(SWITCH) else "on")
|
|
30
33
|
return 0
|
package/bin/tezgah-agents
CHANGED
|
@@ -28,6 +28,9 @@ def main():
|
|
|
28
28
|
if "-h" in args or "--help" in args:
|
|
29
29
|
print(__doc__.strip())
|
|
30
30
|
return 0
|
|
31
|
+
if any(a.startswith("-") and a not in ("--list", "--json") for a in args):
|
|
32
|
+
print("usage: tezgah-agents [--json] [PATH] | --list", file=sys.stderr)
|
|
33
|
+
return 2
|
|
31
34
|
if "--list" in args:
|
|
32
35
|
for name, desc, _cap, _body, readonly in ROLES:
|
|
33
36
|
print("%s tier=%s %s\n %s" % (
|
package/bin/tezgah-capture
CHANGED
|
@@ -36,6 +36,9 @@ USAGE = ('usage: tezgah-capture \'{"tool": "Edit", "input": {"file_path": "a.py"
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def main(argv):
|
|
39
|
+
if argv in (["-h"], ["--help"]):
|
|
40
|
+
print(__doc__.strip())
|
|
41
|
+
return 0
|
|
39
42
|
if len(argv) != 1 or not argv[0].strip():
|
|
40
43
|
print(USAGE, file=sys.stderr)
|
|
41
44
|
return 2
|